2016-07-12 4 views
0

Hallo ich bin in der Lage, parse-Server-und parse-Dashboard in meinem lokalen System.I versuchen, meine Android-App auf den Parse-Server, der auch im gleichen System ist zu verbinden .Ich ist nicht den Parse-Server Heroku Hosting oder anderes Hosting site.I ist in der Lage Nachricht von comandline mit diesem BefehlPush-Benachrichtigung durch lokale Parse-Server und Analyse Dashboard

curl -X POST \ 
    -H "X-Parse-Application-Id:<App_ID>" \ 
    -H "Content-Type: application/json" \ 
    -d '{"Name":"<Name>","Score":<Score>}' \ 
http://localhost:1337/parse/classes/Player 

aber nicht in der Lage zu verbinden, den Parsing-Server von meinem android zu bekommen/senden App

mongodb, analysieren-Server-Beispiel und analysieren-Armaturenbrett richtig working.My Android-Code ist: Manifestdatei

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      package="com.parse.pushnotification" > 

      <uses-permission android:name="android.permission.INTERNET" /> 
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
     <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
      <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
     <permission 
       android:name="<my_Package>.C2D_MESSAGE" 
       android:protectionLevel="signature" />   
     <uses-permission android:name="<my_Package>.permission.C2D_MESSAGE" />  

      <application 
       android:name=".PushParseServerTest" 
       android:allowBackup="true" 
       android:label="@string/app_name" 
       android:theme="@style/AppTheme" > 

       <activity 
        android:name=".MainActivity" 
        android:label="@string/app_name" > 
        <intent-filter> 
         <action android:name="android.intent.action.MAIN" /> 

         <category android:name="android.intent.category.LAUNCHER" /> 
        </intent-filter> 
       </activity> 

<meta-data 
      android:name="com.parse.push.gcm_sender_id" 
      android:value="id:<gcm_project_id>" /> 

       <service android:name="com.parse.PushService" /> 

       <receiver 
        android:name="com.parse.GcmBroadcastReceiver" 
        android:permission="com.google.android.c2dm.permission.SEND" > 
        <intent-filter> 
         <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
         <action android:name="com.google.android.c2dm.intent.REGISTRATION" />     

         <category android:name="<my_package_name>" /> 
        </intent-filter> 
       </receiver> 
       <receiver 
        android:name="<my_package>.ParsePushnotificationReceiver" 
        android:exported="false" > 
        <intent-filter> 
         <action android:name="android.intent.action.BOOT_COMPLETED" /> 
         <action android:name="android.intent.action.USER_PRESENT" /> 
         <action android:name="com.parse.push.intent.RECEIVE" /> 
         <action android:name="com.parse.push.intent.DELETE" /> 
         <action android:name="com.parse.push.intent.OPEN" /> 

         <category android:name="<my_package_name>" /> 
        </intent-filter> 
       </receiver> 
      </application>  
     </manifest> 

Build.gradle

{ 

    compile 'com.android.support:appcompat-v7:22.2.0' 
    compile 'com.parse.bolts:bolts-tasks:1.3.0' 
    compile 'com.parse:parse-android:1.13.0' 
} 

Datei PushParseServerTest.java

public class StarterApplication extends Application { 
    @Override 
    public void onCreate() { 
    super.onCreate(); 
    // Enable Local Datastore. 
    Parse.enableLocalDatastore(this); 

    // Add your initialization code here 
    //Parse.initialize(this); 

     Parse.initialize(new Parse.Configuration.Builder(getApplicationContext()) 
       .applicationId("@string/parse_app_id") 
       .clientKey("@string/parse_client_key") 
       .server("http://<my_system_ip>:1337/parse/") // '/' important after 'parse' 
       .build());  
    } 
} 

ParsePushnotificationReceiver.java

public class ParsePushnotificationReceiver extends BroadcastReceiver { 
    private static final String TAG = "ParsePushnotificationReceiver"; 
    // public static final String intentAction = "com.parse.push.intent.RECEIVE"; 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     if (intent == null) { 
      Log.d(TAG, "Receiver intent null"); 
     } else { 
      // Parse push message and handle accordingly 
      Log.d(TAG, intent.getExtras().toString()); 
     } 
    } 
} 

Antwort

0

Ist es ein Problem mit Push-Benachrichtigungen oder Objekten Speicher zu analysieren-Server?

Haben Sie Push-Benachrichtigungen korrekt auf dem Parse-Server konfiguriert und registrieren Sie Ihre Android-Geräte korrekt?

+0

Danke für die Freigabe Ihrer Antwort. Ja, ich habe Parse-Server richtig konfiguriert.Wie ich bereits erwähnt habe, kann ich/comandline commandline mit dem genannten Befehl.Aber ich glaube Registrierung von Android-Gerät nicht mit dieser API-Parse passiert. initialisieren(). Bitte lassen Sie mich wissen, wie Sie den Verkehr in Android App überprüfen. –

+0

Ich bin kein Experte mit Android überhaupt, ich bin vielleicht nicht der beste, um Ihnen hier zu helfen. Nach dem, was ich gesehen habe, haben es viele Leute geschafft, es zum Laufen zu bringen. Ich schlage vor, über die Probleme auf https://github.com/ParsePlatform/parse-server/issues/ skim und es wird wahrscheinlich einen Hinweis für die Korrektur geben;) – flovilmart