今回は、「Firebase Cloud Messaging(FCM)」を使用して、スマートフォンへ通知を送るために必要なトークンの発行方法を紹介します。
build.gradleファイルの修正
dependencies {
…
implementation "com.google.firebase:firebase-messaging:23.1.1"
}
buildscript {
dependencies {
classpath 'com.google.gms:google-services:4.3.14'
}
}
継承クラスを追加
import com.google.firebase.messaging.FirebaseMessagingService;
public class MyFirebaseMessagingService extends MyFirebaseMessagingService {
@Override
public void onNewToken(String token){
//tokenにトークンが格納される
}
}
マニフェストファイルの修正
マニフェストファイルに以下のソースを追加する。
nameプロパティはclassファイルのパスに注意してください。
間にフォルダをかませる場合は「.フォルダ名.MyFirebaseMessagingService」のように変更してください。
<service
android:name=".MyFirebaseMessagingService"
android:exported="false"
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
現在のトークンを取得する方法
トークンが発行された段階で、MyFirebaseMessagingServiceの「onNewToken」の「token」に設定されます。
別の方法として、発行された現在のトークンを欲しい時に取ることも可能です。
FirebaseMessaging.getInstance().getToken()
.addOnCompleteListener(new OnCompleteListener<String>() {
@Override
public void onComplete(@NonNull Task<String> task) {
if (!task.isSuccessful()) {
return;
}
String token = task.getResult();
}
});