Scoreloopソーシャルゲームネットワークのいくつかの機能のAndroidアプリケーションへの統合

記録の表は、何年も前にゲームに登場しました。 最初は非常にシンプルでした。たとえば、3文字のプレーヤー名を持つコンソール用のゲームを思い出してください。



時間の経過とともに、レコードテーブルはより複雑になり、結果をインターネットに公開してグローバルリストで自分自身を確認できるようになりました。



今日、インターネット、ソーシャルネットワーク、モバイルデバイスの時代には、ハイスコアテーブルがソーシャルゲームネットワーク全体に成長しました。



以下では、Scoreloopと呼ばれるこれらのソーシャルゲームネットワークの1つのAndroidアプリケーションへの統合について説明します。



主な機能



Scoreloopは、Android、Bada、iOS、およびWindows Phone 7アプリケーション用のSDKを提供し、次の機能にアクセスできます。

このゲームでは、ポイントと最高の結果のテーブル(スコアループの観点からのリーダーボード)の統合を試みます。



結果表



ステップ1. developer.scoreloop.comに登録し(これがないと何も機能しません) 、SDKダウンロードします (リンクはログインしている場合にのみ機能します)



ステップ2.アプリケーションを追加し、ゲームIDとその秘密コードを取得します。



さらに2つの方法で進めることができます-CoreSocial SDKを使用してすべてを手動で行うか、ScoreloopUIを使用して結果テーブル用の既製のUIを取得するなど。 2番目の方法に進みます。



ステップ3. SDKを何らかのディレクトリに解凍します。



Eclipseを使用してアプリケーションを開発していると思います。 コマンドFile-> Import-> Existing Projects Into Workspaceを使用して、SDKからScoreloopUIプロジェクトを開きます。



次に、ScoreloopUIプロジェクトをライブラリとしてプロジェクトに接続します(ゲームプロジェクトを右クリックし、「プロパティ」を選択し、「Android」を選択し、「ライブラリ」セクションの「追加」ボタンをクリックし、ScoreloopUIプロジェクトを見つけて選択します)。



また、scoreloop-core.jarライブラリをプロジェクトに接続する必要があります(プロジェクト->プロパティ->ライブラリ->外部JARの追加)



ステップ4.アプリケーションに必要な許可を設定します。



<!-Scoreloopに必要なアクセス許可の構成->

<uses-permission android:name = "android.permission.INTERNET" />

<uses-permission android:name = "android.permission.READ_PHONE_STATE" />

<uses-permission android:name = "android.permission.READ_CONTACTS" />


明らかに、アプリケーションはインターネット(インターネット)にアクセスする必要があります。 なぜREAD_PHONE_STATEが必要なのかはわかりませんが、scoreloop.propertiesファイルでui.feature.address_book = falseを設定した場合、READ_CONTACTSは省略できます。



ステップ5.アプリケーションが使用するScoreloopUIアクティビティを指定します。



<!-ScoreloopUIアクティビティの定義->

<アクティビティ android:name = "com.scoreloop.client.android.ui.EntryScreenActivity" android:theme = "@android:style / Theme.Black.NoTitleBar.Fullscreen" />

<アクティビティ android:name = "com.scoreloop.client.android.ui.ShowResultOverlayActivity" android:theme = "@ style / sl_dialog" />

<アクティビティ android:name = "com.scoreloop.client.android.ui.component.market.MarketHeaderActivity" />

<アクティビティ android:name = "com.scoreloop.client.android.ui.component.market.MarketListActivity" />

<アクティビティ android:name = "com.scoreloop.client.android.ui.component.entry.EntryListActivity" />

<アクティビティ android:name = "com.scoreloop.client.android.ui.component.post.PostOverlayActivity" android:theme = "@ style / sl_dialog" />

<アクティビティ android:name = "com.scoreloop.client.android.ui.component.score.ScoreHeaderActivity" />

<アクティビティ android:name = "com.scoreloop.client.android.ui.component.score.ScoreListActivity" />

<アクティビティ android:name = "com.scoreloop.client.android.ui.component.user.UserAddBuddyListActivity" />

<アクティビティ android:name = "com.scoreloop.client.android.ui.component.user.UserHeaderActivity" />

<アクティビティ android:name = "com.scoreloop.client.android.ui.component.user.UserDetailListActivity" />

<アクティビティ android:name = "com.scoreloop.client.android.ui.component.user.UserListActivity" />

<アクティビティ android:name = "com.scoreloop.client.android.ui.component.game.GameDetailHeaderActivity" />

<アクティビティ android:name = "com.scoreloop.client.android.ui.component.game.GameDetailListActivity" />

<アクティビティ android:name = "com.scoreloop.client.android.ui.component.game.GameListActivity" />

<アクティビティ android:name = "com.scoreloop.client.android.ui.component.profile.ProfileSettingsListActivity" />

<アクティビティ android:name = "com.scoreloop.client.android.ui.component.profile.ProfileSettingsPictureListActivity" />

<アクティビティ android:name = "com.scoreloop.client.android.ui.LeaderboardsScreenActivity" android:theme = "@android:style / Theme.Black.NoTitleBar.Fullscreen" />

<アクティビティ android:name = "com.scoreloop.client.android.ui.framework.ScreenActivity" android:theme = "@android:style / Theme.Black.NoTitleBar.Fullscreen" />

<アクティビティ android:name = "com.scoreloop.client.android.ui.framework.TabsActivity" />


ステップ6. scoreloop.propertiesファイルを取得する



scoreloop.com Webパネルに戻り、ゲームのプロパティ(Game Propertiesタブ)を構成し、同じページの[Get scoreloop.properties]リンクをクリックして、プロジェクトの/ assetフォルダーにscoreloop.propertiesファイルを保存します。



ステップ7. Scoreloopフレームワークの初期化と破棄



フレームワーククラスを初期化して破棄するには、ScoreloopManagerSingletonクラスを使用します。 以下で説明する操作は、アクティビティではなくアプリケーションクラスで実行する必要があることに注意してください。 アプリケーションクラスを作成するとき(まだない場合)、マニフェストの「application」タグにアプリケーションクラス名を含めるようにしてください。



初期化:



ScoreloopManagerSingleton。 init これは「Webインターフェースから取得した秘密のコード」 ;


破壊:



ScoreloopManagerSingleton。 destroy ;


さらに、SDKでは、すべての呼び出しをメインUIストリーム内に実装することを強くお勧めします。 アプリケーションでスレッドが使用されている場合、Android Handlerオブジェクト(http://developer.android.com/reference/android/os/Handler.html)を使用し、メインスレッドからScoreloopUI APIを呼び出すことをお勧めします。



ステップ8.ゲーム結果をサーバーに送信する



アクティビティはOnScoreSubmitObserverインターフェイスを実装する必要があります。 これは、サーバーにポイントを送信した後に呼び出されるonScoreSubmitメソッドで構成されます(この操作には時間がかかり、その間UIストリームをブロックできないことは明らかです)。



送信結果のオブザーバーとしてアクティビティを登録します。



ScoreloopManagerSingleton。 get setOnScoreSubmitObserver これ ;


サーバーにポイントを送信します。



Double scoreResult = 1450.0 ;

ScoreloopManagerSingleton。 get onGamePlayEnded scoreResult、 null ;


onGamePlayEndedメソッドでは、2番目のパラメーターはゲームモード(たとえば、簡単、難しいなど)です。 Webインターフェイスを介してモードを構成しなかったため、nullを渡します。



ステップ9.結果テーブルを表示する



これにより、すべてが非常に簡単になります。



startActivity 新しいインテント これ 、LeaderboardsScreenActivity。class ;


これは次のようなものです。







ブランディング



そのサービスを使用するためのScoreloopでは、たとえば次のように、アプリケーションのアイコンのメインイメージの上に小さなScoreloopロゴが必要です。







これはおそらく、ユーザーがこのアプリケーションがScoreloopと統合され、ひどい力でダウンロードを開始したことをユーザーがすぐに確認できるようにするためですが、...



あとがき



不明な点がある場合は、コメントで回答してみます。 さらに、SDKには詳細で非常に明確なドキュメントが含まれています。



この記事で説明されている統合結果は、Qbrixゲームで見ることができます( マーケットへのリンク、.apkへのリンク ):







PS AndroidアプリへのAdMobACRAの 統合に関する記事の著者に感謝します。 これらのガイドにより、数時間の開発時間が節約されました。



All Articles