2016-08-24 6 views
-1

私はアンドロイドでフォーラムアプリケーションを作成し、データベースとしてphpmyadminを使用しました。しかし、質問が新しい回答を得たとき、アプリケーションはすべてのユーザーに通知を表示する必要があります。どうすればfirebaseを使用する必要があるか、単にWebサービスを使用する必要がありますか?Firebaseや他の方法でAndroidデバイスに通知を表示

答えて

0

まず、firebaseコンソールにアクセスしてアプリケーションを作成する必要があります。 (このためには、Googleアカウントにログインする必要があります)、ここに記載されている手順に従ってください。 https://firebase.google.com/docs/

それが完了したら、あなたたManifest.xmlファイルにこれらのサービスを追加する必要があります

<service 
    android:name=".firebase.FirebaseMessagingService"> 
    <intent-filter> 
     <action android:name="com.google.firebase.MESSAGING_EVENT"/> 
    </intent-filter> 
</service> 

<service 
    android:name=".firebase.FirebaseInstanceIDService"> 
    <intent-filter> 
     <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/> 
    </intent-filter> 
</service> 

FirebaseInstanceIdService.class

public class FirebaseInstanceIDService extends FirebaseInstanceIdService { 
    private static final String TAG = "FirebaseInstanceIDService"; 

    @Override 
    public void onTokenRefresh() { 
     String token = FirebaseInstanceId.getInstance().getToken(); 
     Log.d(TAG, "OnTokenRefresh callback. Token received : " + token); 
    } 
} 

FirebaseMessagingService.class

public class FirebaseMessagingService extends com.google.firebase.messaging.FirebaseMessagingService { 

    private static final String TAG = "FirebaseMessagingService"; 

    @Override 
    public void onMessageReceived(RemoteMessage remoteMessage) { 
     Log.d(TAG,"onMessageReceived."); 
     showNotification(remoteMessage.getData().get("message")); 
    } 

    private void showNotification(String message) { 

     Intent i = new Intent(this, HomeActivity.class); 
     i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

     PendingIntent pendingIntent = PendingIntent.getActivity(this,0,i,PendingIntent.FLAG_UPDATE_CURRENT); 

     NotificationCompat.Builder builder = new NotificationCompat.Builder(this) 
       .setAutoCancel(true) 
       .setContentTitle("Slapr Notification Demo") 
       .setContentText(message) 
       .setSmallIcon(R.drawable.common_google_signin_btn_icon_dark) 
       .setContentIntent(pendingIntent); 

     NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 

     manager.notify(0,builder.build()); 
    } 
} 

これでtokenIdを取得できますあなたの活動の中で以下を実行してください:

Log.d(TAG, "Recieved token : " + FirebaseInstanceId.getInstance().getToken()); 

これは私が始めたときに見つけた最も役立つチュートリアルです。それがあなたを助けることを願っています https://www.youtube.com/watch?v=LiKCEa5_Cs8

https://www.youtube.com/watch?v=MYZVhs6T_W8

+0

私はあなたが提供されたコードを使用しているが、それは私が共有しているリンクから一度チュートリアルを行ってくださいトークン – Bhavesh

+0

のために** **「ヌル」と表示します –

関連する問題