Android - FCM
十個月沒寫Android之後,開始寫Android,正好可以測試FCM,
雖然只是寫基本的Demo App,但可以順便測試Firebase的FCM
有兩篇文章,一是取得Token,二是傳送取得訊息
http://litotom.com/2016/06/24/android-firebase-cloud-messaging-1/
https://litotom.com/2016/06/26/firebase-android-send-2/
FCM變得比GCM還來的好用、好部署,
只需建立兩個Service,在AndroidManfiest加入兩個Service xml設定。
就不需要其它xml設定了。
過去GCM的授權設定都可以拿掉(C2DM)。
根據文章說法,我只要建立兩個service class
public class FcmInstancelIDService extends FirebaseInstanceIdService {
public static String TAG = "FCM";
@Override
public void onTokenRefresh() {
String token = FirebaseInstanceId.getInstance().getToken();
Log.e(TAG,"Token = " + token);
}
}
public class FcmMessageService extends FirebaseMessagingService {
public static String TAG = "FCM";
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.d(TAG, "onMessageReceived:"+remoteMessage.getFrom());
}
}
XML 設定在<application>裡面
<service android:name=".FcmInstancelIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
<service
android:name=".FcmMessageService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
build.gradle Project層要加入
dependencies {
....
classpath 'com.google.gms:google-services:3.0.0'
....
}
build.gradle Module:app層
dependencies {
...
compile 'com.google.firebase:firebase-messaging:9.0.0'
...
}
apply plugin: 'com.google.gms.google-services'
且選擇Project選單(非Android),會出現app層底下的資訊,丟入google-services.json
google-services.json 會由Firebase平臺下載取得。
建立應用程式Firebase應用程式,需要SHA1,可以使用AndroidStuiod工具找到
點兩下執行signningReport可以在下方取得SHA1