8

Ich mache eine App, die die Parse.com Push-Benachrichtigungen verwenden wird, aber es funktioniert nicht wie die Anleitung zeigt.Parse Push-Benachrichtigungen auf Android

Das Problem ist, ich habe die Parse Push-Aktivität fein eingerichtet, registriert die neue Installation und kann sehen, welche Kanäle ein Benutzer abonniert hat. Ich kann die Push-Benachrichtigung von parse empfangen, kann sie aber nicht von meiner App aus senden.

Es gibt keine Fehler in logcat, und analysieren Datensätze, dass ein Push gesendet wurde, aber zeigt, dass es "keine Abonnenten" für den Kanal gibt.

In meinem onCreate:

Parse.initialize(MainActivity.this, "***", "***"); 
    PushService.setDefaultPushCallback(this, MainActivity.class); 
    PushService.subscribe(this, "Everyone", MainActivity.class); 
    ParseInstallation.getCurrentInstallation().saveInBackground(); 

Der Code Push:

ParsePush push = new ParsePush(); 
    push.setChannel("Everyone");   
    push.setMessage("Hey!"); 
    push.sendInBackground(); 

Das Manifest:

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
<uses-permission android:name="android.permission.VIBRATE" /> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 

<application> 
    .... 

<service android:name="com.parse.PushService" /> 
    <receiver android:name="com.parse.ParseBroadcastReceiver"> 
     <intent-filter> 
     <action android:name="android.intent.action.BOOT_COMPLETED" /> 
     <action android:name="android.intent.action.USER_PRESENT" /> 
     </intent-filter> 
    </receiver> 
</application> 

Es gibt keine Fehler in logcat, scheint alles glatt geschickt zu werden, aber im Parse bekomme ich die folgenden Nachrichten:

Mein Push-

You sent this push notification to 0 recipients. 

Targeting : channels includes "Everyone" 
Sending date : November 28th, 2013 at 9:40 AM 
Expiration : None 
Full target : { "channels": { "$in": [ "Everyone" ] } } 
Full data : {"alert"=>"Hey!"} 

Die einzigen Änderungen, die ich aus dem Push sehen können, dass ich gegen Push senden, die parse.com die "Full-Daten" sendet, wird Feld

Parse schieben

Targeting : channels includes "Everyone" 
deviceType is "android" 
Sending date : November 28th, 2013 at 9:21 AM 
Expiration : None 
Full target : { "channels": { "$in": [ "Everyone" ] }, "deviceType": "android" } 
**Full data : { "alert": "hi" }** 

Vielen Dank im Voraus für jede Hilfe/Ideen

+0

Ist es wirklich notwendig, einen Kanal zu abonnieren? Meine Push-Benachrichtigungen funktionieren ohne diesen Schritt. – portfoliobuilder

Antwort

19

Sie sollten Push-Benachrichtigung von Parse-Einstellung auf der Website parse.com

aktivieren

App -> Einstellungen -> Push-Benachrichtigungen -> aktiviert Clientpush

1

In meinem Fall (auf sein sollen), definierte ich ein packageName im AndroidManifest.xml verschiedenen der build.gradle ... dauerte es 3 Stunden das realisieren Error. Vielleicht könnte es helfen, die gleichen :)

0

einfach deinstallieren Sie Ihre Anwendung von Emulator und Sie überprüfen, dass der Name des Pakets in gradle enter image description here

enter image description here

make Ufer, das das applicationId „Ihr Paket“ in Android Manifest enter image description here