----------------------------------FCM前置步驟可觀看----------------------------------
Step1:
https://litotom.com/2016/06/24/android-firebase-cloud-messaging-1/
注意:
apply plugin: 'com.google.gms.google-services'
要放在build.gradle(Module: app)這個檔案裡面的最下面
Step2:
https://litotom.com/2016/06/26/firebase-android-send-2/
-----------------------------------------------------------------------------------------------
1.在MyFirebaseMessagingService.java加入推播通知訊息
package com.terryyamg.fcmtest; import android.app.Notification; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.support.v4.app.NotificationCompat; import android.support.v4.app.NotificationManagerCompat; import android.util.Log; import com.google.firebase.messaging.FirebaseMessagingService; import com.google.firebase.messaging.RemoteMessage; public class MyFirebaseMessagingService extends FirebaseMessagingService { private static final String TAG = "MyFirebaseMessaging"; @Override public void onMessageReceived(RemoteMessage remoteMessage) { Log.i(TAG, "onMessageReceived:" + remoteMessage.getFrom()); Intent intent = new Intent(); //點擊啟動到MainActivity頁面 intent.setClass(this, MainActivity.class); showNotification(this, remoteMessage, intent); } // 顯示通知 // remoteMessage.getData() - 無論app在什麼狀態下皆會執行 MyFirebaseMessagingService(需對應Service設定的字串文字) // remoteMessage.getNotification() - 只會在app顯示時,執行app的接收訊息 MyFirebaseMessagingService private void showNotification(Context context, RemoteMessage remoteMessage, Intent intent) { NotificationManagerCompat manager = NotificationManagerCompat.from(this); PendingIntent iPending = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.mipmap.ic_launcher) .setContentTitle(remoteMessage.getData().get("title")) //需對應Service設定的字串文字 .setWhen(System.currentTimeMillis()) .setDefaults(Notification.DEFAULT_SOUND) .setContentText(remoteMessage.getData().get("body")) //需對應Service設定的字串文字 .setContentIntent(iPending) .setAutoCancel(true); Notification notification = mBuilder.build(); manager.notify(1, notification); } }2.Service推播 fcm_service.php
#API access key from Google API's Console define( 'API_ACCESS_KEY', 'AAAA6iG_xzk:APA91bHxlAkx5byr66cIFk-CXAr2k3hvs4tGQV9nAzj2nw75kPC8_9eIyyZVaeUPYFYzAk10qV-D0Pwl5BsIGslvv32PI2ECap1KcmW7Iu6lyzh1A3eEE2TJ5jVsnPydWFgKjvh3J5hh' ); $registrationIds = "dTDs6rF7h04:APA91bECmREiN_qgUJ2IBwagJRzWmVxDMWVpmjEnkgJi1FWMLAtFHGTSYVXA-0VTHMf-42mZH8qLBEdKHFs9Z6oCL1JUf0uJ232z26XJdpEuwMvVPFxunwAZPN9E4-6qKImQEb7b9iHw"; #prep the bundle $msg = array ( 'body' => 'Body Of Notification', 'title' => 'Title Of Notification' ); //'notification' - 只會在app顯示時,執行app的接收訊息Service //'data' - 無論app在什麼狀態皆會執行app的接收訊息Service $fields = array ( 'to' => $registrationIds, 'data' => $msg ); $headers = array ( 'Authorization: key=' . API_ACCESS_KEY, 'Content-Type: application/json' ); #Send Reponse To FireBase Server $ch = curl_init(); curl_setopt( $ch,CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send' ); curl_setopt( $ch,CURLOPT_POST, true ); curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers ); curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true ); curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false ); curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode( $fields ) ); $result = curl_exec($ch ); curl_close( $ch ); #Echo Result Of FireBase Server echo $result;
檔案下載:
參考資料:
สล็อต pg1234 ทางเข้า แจกฟรีเครดิต สามารถทำเงินได้อย่างรวดเร็วและมีความสนุกสนานได้ในที่เดียว pg slot การใช้สูตรที่เหมาะสมอาจช่วยเพิ่มโอกาสในการชนะ
回覆刪除