3

我使用的是android和pubnub。pubnub - 發佈回退推送通知不起作用

我做了訂閱/發佈教程,它的工作原理,我有一個工作聊天(當應用程序打開時)。

閱讀所有的教程後,我明白,而應用程序在後臺或關閉時,publish方法應該退回到推送通知發送給大家誰subscribeenablePushNotificationsOnChannel的通道。

由於某種原因,它不適用於我,我不確定它應該如何工作。

從教程,應該有一個一段代碼,或者:

  1. 發送數據throught的實時信道。
  2. 如果應用程序關閉/在後臺發送推送通知。

從網站:

/ Send Push Notification to all devices 
// registered to `my_channel` 

JSONObject jso = null; 
try { 
jso = new JSONObject("{ 
'aps' : { 
'alert' : 'You got your emails.'," + " 
'badge' : 9, 
'sound' : 'bingbong.aiff'}," + " 
'acme 1': 42 
}"); 
pubnub.publish("my_channel", jso, 
new Callback(){ 
@Override 
public void successCallback(String arg0, 
Object arg1) { 
System.out.println(arg1); 
} 

並且:

Sending Notifications 
Sending a notification requires creating a JSON object. It is then added to a PubNub GCM specific message (the message is formatted for you). 

public void sendNotification() { 
    PnGcmMessage gcmMessage = new PnGcmMessage(); 
    JSONObject jso = new JSONObject(); 
    try { 
     jso.put("GCMSays", "hi"); 
    } catch (JSONException e) { } 
    gcmMessage.setData(jso); 

    PnMessage message = new PnMessage(
      pubnub, 
      "your channel name", 
      callback, 
      gcmMessage); 
    try { 
     message.publish(); 
    } catch (PubnubException e) { 
     e.printStackTrace(); 
    } 
} 

Note that we have to create the callback methods which will be fired when the message is published: 

public static Callback callback = new Callback() { 
    @Override 
    public void successCallback(String channel, Object message) { 
     Log.i(TAG, "Success on Channel " + CHANNEL + " : " + message); 
    } 
    @Override 
    public void errorCallback(String channel, PubnubError error) { 
     Log.i(TAG, "Error On Channel " + CHANNEL + " : " + error); 
    } 
}; 

所以,很顯然,這是兩個不同的代碼片段,其中沒有涉及這兩個選項(當應用程序打開時的實時頻道,當應用程序關閉時推送通知)。

我所需要的一段代碼:

  1. 如果該應用被打開 - 通過通道發送數據。
  2. 如果應用程序已關閉/在後臺 - 發送推送通知。在設備上 -

回答

1

PubNub移動推送通知

發佈者不知道或不關心用戶是否有效(前景)或無效(殺狀態背景或者根本沒有運行)。發佈者始終會使用GCM(也可能是APNS)有效內容發佈消息。

  • 活動應用程序將同時接收並阻止通過操作系統的push msg接收器偵聽器顯示推送通知。
  • 不活動的應用程序將只收到推送通知並顯示該通知。當最終用戶點擊推送消息時,它將打開應用程序,您可以在其中獲取錯過的消息並在應用程序的用戶界面中顯示完整內容。

查看我的文章,Sending APNS and GCM Messages to Subscribers and Mobile Push Notification Services in One API Call,作爲PubNub推送通知如何工作的入門。

從那裏,你可能還有其他問題,但是這應該給你一個關於如何使用PubNub移動推送通知的好開始。