マニフェストの設定
マニフェストを設定して、プッシュ機能を利用する際に必要な権限やハンドラーのクラス名を設定します。
下記の XML ファイル中、2 箇所にある <!-- *** add following lines *** -->
から、<!-- *** up to this point *** -->
までの部分を AndroidManifest.xml に追加します。
1 つ目は、プッシュ通知を受け取るために必要な権限を設定する部分です。権限が設定されていない場合は追加します(
android.permission.INTERNET
も Kii Cloud SDK の利用に必要です)。2 つ目は、プッシュメッセージやデバイスを扱うための様々な設定です。
GcmReceiver
は Android のクラスですが、残りのMyGcmListenerService
、MyInstanceIDListenerService
、RegistrationIntentService
はいずれも、次のステップ以降で用意します。
いずれの部分でも、必要に応じてパッケージ名「com.example.pushtest」を書き換えてください。追加する箇所では、合計 4 箇所の修正が必要です。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.pushtest" >
<uses-permission android:name="android.permission.INTERNET" />
<!-- *** add following lines *** -->
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!-- *** up to this point *** -->
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.pushtest.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- *** add following lines *** -->
<receiver
android:name="com.google.android.gms.gcm.GcmReceiver"
android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="com.example.pushtest" />
</intent-filter>
</receiver>
<service
android:name="com.example.pushtest.MyGcmListenerService"
android:exported="false" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
</intent-filter>
</service>
<service
android:name="com.example.pushtest.MyInstanceIDListenerService"
android:exported="false">
<intent-filter>
<action android:name="com.google.android.gms.iid.InstanceID"/>
</intent-filter>
</service>
<service
android:name="com.example.pushtest.RegistrationIntentService"
android:exported="false">
</service>
<!-- *** up to this point *** -->
</application>
</manifest>
なお、このマニフェストファイルや実装するクラスは、いずれも GCM のチュートリアルから引用して Kii Cloud 用に改変したものです。オリジナルは、プッシュ通知設定チュートリアル で紹介されている GitHub のコードをご覧ください。
次に実装を行います。プログラムの実装 に進みましょう。
<< ビルド環境の設定 | プログラムの実装 >> |