コンテンツにスキップ

事前準備

このページの解説では Android Studio バージョン 4.1.3 を用いています。

使用するバージョンによって細部が異なる可能性がありますが、ご了承ください。

プロジェクトを作成する

まずは Android Studio でプロジェクトを作成します。
既存のプロジェクトに SDK を追加する場合にはこの工程は不要です。

本ガイドでは、代表例として Empty Activity テンプレートを選択しています。
Package name などは、実際に使用される値に置き換えてプロジェクトを作成してください。


FCM の利用登録

  1. サポートページのFCMサーバーキー取得方法を参考に、Firebase へのプロジェクト作成を行ってください。
  2. サポートページのFCMサーバーキー管理画面への登録を参考に、FCM サーバーキーの登録を行ってください。

※事前に Google アカウントを作成されていることが前提となります。


Firebase Cloud Messaging の追加

Firebase Cloud Messaging の追加の例として、Firebase アシスタントを使用した追加の方法を紹介します。

Tools > Firebase > Assistant > Cloud Messaging の ② まで進めたところでこの作業は終了です。


SDK をダウンロードする

FANSHIP管理画面へログインした後に、Android 用の SDK をダウンロードしてください。

ZIP 展開されたディレクトリ配下の popinfo-sdk がプロジェクトに追加する SDK フォルダです。


SDK をプロジェクトに追加する

SDK 追加の例として、Anroid Studio のモジュール追加を使用した方法を紹介します。

SDK 追加後、app/build.gradle の dependencies に下記のコード追加してください。

implementation project(':popinfo-sdk')

AndroidManifest.xml の編集

以下のコードを AndroidManifest.xml に追加してください。

アプリケーションID については FANSHIP配信管理画面 から Android 基本情報 > アプリケーションID をコピーをしてください。

<!-- 1. application タグ外に追加してください -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

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

<!-- 2. application タグ内に追加してください -->
<meta-data
    android:name="POPINFO_APP_ID"
    android:value="<FANSHIPのアプリケーションIDを設定してください>" />
<provider
    android:name="jp.iridge.popinfo.sdk.PopinfoMessageProvider"
    android:exported="false"
    android:authorities="${applicationId}.popinfo" />
<meta-data
    android:name="POPINFO_LOCATION_SOURCES"
    android:value="" />

PopinfoApplication の実装

PopinfoApplication クラスを継承したクラスを作成します。
AndroidManifest.xml の編集、およびソースコードの追加を行います。

class MyApplication : PopinfoApplication() {
}
public class MyApplication extends PopinfoApplication {
}


<application
    android:name=".MyApplication"
    ...>

FCMトークンの登録 および FANSHIP への設定を行う

FirebaseMessagingService クラスを継承したクラスを作成します。
AndroidManifest.xml の編集、およびソースコードの追加を行います。

import com.google.firebase.messaging.FirebaseMessagingService
import com.google.firebase.messaging.RemoteMessage
import jp.iridge.popinfo.sdk.Popinfo

class MyFirebaseMessagingService : FirebaseMessagingService() {

    override fun onNewToken(newToken: String) {
        super.onNewToken(newToken)

        // FCMトークンの登録
        Popinfo.setToken(this, newToken)
    }

    override fun onMessageReceived(remoteMessage: RemoteMessage) {
        super.onMessageReceived(remoteMessage)

        // FANSHIP FCMメッセージ設定
        Popinfo.fcmMessageHandler(this, remoteMessage)
    }

}
import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;
import jp.iridge.popinfo.sdk.Popinfo;

public class MyFirebaseMessagingService extends FirebaseMessagingService {

    @Override
    public void onNewToken(String token) {
            super.onNewToken(newToken);

        // FCMトークンの登録
        Popinfo.setToken(this, token);
    }

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        super.onMessageReceived(remoteMessage);

        // FANSHIP FCMメッセージ設定
        Popinfo.fcmMessageHandler(this, remoteMessage);
    }
}


<!-- application タグ内に追加してください -->
<service
        android:name=".MyFirebaseMessagingService"
        android:exported="false">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT"/>
    </intent-filter>
</service>


MyApplication クラスの onCreate() に以下のコードを追加してください。

class MyApplication : PopinfoApplication() {

    override fun onCreate() {
        super.onCreate()

        FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task ->
                if (!task.isSuccessful) {
                    return@OnCompleteListener
                }

                // FCMトークンの登録
                val token = task.result
                Popinfo.setToken(applicationContext, token)
        })
    }
}

MyApplication クラスの onCreate() に以下のコードを追加してください。

public class YourApplication extends PopinfoApplication {

    @Override
    public void onCreate() {
        super.onCreate();

        FirebaseMessaging.getInstance().getToken().addOnCompleteListener(new OnCompleteListener<String>() {
            @Override
            public void onComplete(@NonNull Task<String> task) {
                if (!task.isSuccessful()) {
                    return;
                }

                // FCMトークンの登録
                String token = task.getResult();
                Popinfo.setToken(getApplicationContext(), token);
            }
        });
    }
}

Warning

FCM トークンが登録されていない場合、プッシュ通知を受け取ることが出来ません。
また、後述するテスト受信端末登録操作に失敗します。


FANSHIP の起動

MainActivity の onCreate() に以下のコードを追加してください。

Popinfo.start(this)

ビルドできるか確認する

Android Studio による Compile Error が出ていないことを確認したら、Build > Make Projectet を選択してください。

エラーが発生しなければ SDK が正しく組み込まれたということになりますので、事前準備は完了です。