grrrian / phonegap-parse-plugin Goto Github PK
View Code? Open in Web Editor NEWThis project forked from avivais/phonegap-parse-plugin
Phonegap plugin for Parse.com Push Notifications
This project forked from avivais/phonegap-parse-plugin
Phonegap plugin for Parse.com Push Notifications
Not sure what's going on with my app so I thought I'd post here to see if anyone else had experienced it. I did not run into this problem with a previous app and think I've done everything the same, but I might be wrong.
So, I've set up the app and I can see Installations, with device tokens in the Parse Data view and they are subscribed to the channels I set up in the code. However, when I go to send a sample push I'm told that there are no registered devices and even when I go into the quick intro and click the "Test" button, I get an error.
Any ideas?
Just a quick note, not sure how to resolved... since your fork is not the same as the original, copying the installation command line code cause some problems for me initially as I installed the incorrect plugin.
The readme instructions install avivais/phonegap-parse-plugin
not your plugin
My app receives notification of the push, but when the application is closed can not receive the push data when opening the app
I'm using window.onNotification and it works with open app: /
Hello there
First, this is the best fork of avivais plugin. Thank you!
But I'm having crash everytime I have the app opened and I lock the screen and unlock it again. Just to make a point here, this just happens when the app closes.
Here the log:
E/AndroidRuntime(31668): FATAL EXCEPTION: main
E/AndroidRuntime(31668): Process: br.com.mobint.bonusQuest, PID: 31668
E/AndroidRuntime(31668): java.lang.RuntimeException: Unable to start receiver com.parse.ParseBroadcastReceiver: java.lang.RuntimeException: applicationContext is null. You must call Parse.initialize(Context) before using the Parse library.
E/AndroidRuntime(31668): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2618)
E/AndroidRuntime(31668): at android.app.ActivityThread.access$1700(ActivityThread.java:148)
E/AndroidRuntime(31668): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1369)
E/AndroidRuntime(31668): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(31668): at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime(31668): at android.app.ActivityThread.main(ActivityThread.java:5312)
E/AndroidRuntime(31668): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(31668): at java.lang.reflect.Method.invoke(Method.java:372)
E/AndroidRuntime(31668): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)
E/AndroidRuntime(31668): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696)
E/AndroidRuntime(31668): Caused by: java.lang.RuntimeException: applicationContext is null. You must call Parse.initialize(Context) before using the Parse library.
E/AndroidRuntime(31668): at com.parse.Parse.checkContext(Parse.java:563)
E/AndroidRuntime(31668): at com.parse.Parse.getApplicationContext(Parse.java:313)
E/AndroidRuntime(31668): at com.parse.ManifestInfo.getContext(ManifestInfo.java:322)
E/AndroidRuntime(31668): at com.parse.ManifestInfo.getPackageManager(ManifestInfo.java:334)
E/AndroidRuntime(31668): at com.parse.ManifestInfo.getPackageInfo(ManifestInfo.java:368)
E/AndroidRuntime(31668): at com.parse.ManifestInfo.deviceSupportsGcm(ManifestInfo.java:456)
E/AndroidRuntime(31668): at com.parse.ManifestInfo.getPushType(ManifestInfo.java:210)
E/AndroidRuntime(31668): at com.parse.PushService.startServiceIfRequired(PushService.java:222)
E/AndroidRuntime(31668): at com.parse.ParseBroadcastReceiver.onReceive(ParseBroadcastReceiver.java:19)
E/AndroidRuntime(31668): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2611)
E/AndroidRuntime(31668): ... 9 more
My App.java:
import android.app.Application;
import org.apache.cordova.core.ParsePlugin;
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
ParsePlugin.initializeParseWithApplication(this);
}
I'm not a Android Dev, so I'm not sure what's happening here.
Any help will be appreciated!
Thanks
Hi,
I'm testing your plugin, it looks awesome, running without any crash. However, It has not implemented yet the didReceiveRemoteNotification for iOS, which means after a push arrive when the app is on foreground nothing happens.
There is any Broadcast Message trough the NSNotificationCenter to be added? Could you tell me its name?
Hi,
I have use your plugin and build ios , ionic throw an error:
ld: framework not found Bolts
clang: error: linker command failed with exit code 1 (use -v to see invocation)
info of my project:
Cordova CLI: 5.4.1
Gulp version: CLI version 1.2.1
Gulp local: Local version 3.9.1
Ionic Version: 1.0.1
Ionic CLI Version: 1.7.14
Ionic App Lib Version: 0.7.0
ios-deploy version: 1.8.6
ios-sim version: 5.0.8
OS: Mac OS X El Capitan
Node Version: v4.4.4
Xcode version: Xcode 7.1 Build version 7B91b
Please help me solve this.
Save push message with sqlite on "onPushReceive" method.
https://github.com/litehelpers/Cordova-sqlite-storage
I am getting the following error when I run ios command:
...
duplicate symbol OBJC_METACLASS$_BFMeasurementEvent in:
Millimetre/Plugins/com.parse.cordova.core.pushplugin/Bolts.framework/Bolts(BFMeasurementEvent.o)
Millimetre/Plugins/com.phonegap.plugins.facebookconnect/FacebookSDK.framework/FacebookSDK(BFMeasurementEvent.o)
ld: 91 duplicate symbols for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
** BUILD FAILED **
The following build commands failed:
Ld build/device/Millimetre.app/Millimetre normal armv7
(1 failure)
Error code 65 for command: xcodebuild with args: -xcconfig,/Users/herve76/Desktop/Millimetre Code_Camera_Issue_Reoslved/platforms/ios/cordova/build-debug.xcconfig,-project,Millimetre.xcodeproj,ARCHS=armv7 armv7s arm64,-target,Millimetre,-configuration,Debug,-sdk,iphoneos,build,VALID_ARCHS=armv7 armv7s arm64,CONFIGURATION_BUILD_DIR=/Users/herve76/Desktop/Millimetre Code_Camera_Issue_Reoslved/platforms/ios/build/device,SHARED_PRECOMPS_DIR=/Users/herve76/Desktop/Millimetre Code_Camera_Issue_Reoslved/platforms/ios/build/sharedpch
ERROR running one or more of the platforms: Error: /Users/herve76/Desktop/Millimetre Code_Camera_Issue_Reoslved/platforms/ios/cordova/run: Command failed with exit code 2
You may not have the required environment or OS to run this project
When alert is empty, the PN shouldn't appear in Notification System Tray, which it does with the current version. I think this is a bug in ParsePluginReceiver class.
When building Android project, got this error :
cannot access bolts.Task
[javac] class file for bolts.Task not found
[javac] ParseInstallation.getCurrentInstallation().saveInBackground();
There is no bolts-android-1.1.4.jar in platforms/android/libs.
thank you @grrrian !
May I know what to look out for in plugin.xml to get the app to receive notification when it is closed?
"To receive notifications on Android when the app is closed (not running in foreground nor background), follow the instructions in plugin.xml."
Thank you
It apparently initializes with no problem but looking at dashboard i realized that the installation comes without any deviceToken or pushType.
I enabled the log and here is the message:
V/com.parse.ManifestInfo: Cannot use GCM for push because the app manifest is missing some required declarations. Please make sure that these permissions are declared as children of the root <manifest> element:
V/com.parse.ManifestInfo: Using none for push.
V/com.parse.PushService: Tried to use push, but this app is not configured for push due to: Push is not configured for this app because the app manifest is missing required declarations. Please add the following declarations to your app manifest to support either GCM or PPNS for push (or both). To enable GCM support, please make sure that these permissions are declared as children of the root <manifest> element:
The thing is all the permission are properly set on AndroidManifest.xml
After searching around it seems that parse-1.9.0.jar is incompatible with android 6.0.
Any ideas?
Look at me here again ๐, so I'm with this problem when compiling for Android "class file for bolts.Task not found", and already includes bolts in his hand however when manually include'm probably including an incorrect version because the application simply closes , what version of "bolts" correct, and would not be interesting she came up with the plugin?
thks.
This plugin needs to be updated to allow use of the open-source ParseServer, i.e. specify a custom Parse API URL to allow app to connect to self-hosted mongo database.
I've installed the plugin from your repo and suddenly i can't build.
Using iOS 8.4 and xCode 6.4, seems the architectures are the problem here since it throws errors on both i386 and armv7 but im not sure.
Sending a push to Android shows a default white icon. Is there anyway to customise the icon so I can specify a custom image?
12-05 13:56:25.422 15250 15250 E AndroidRuntime: java.lang.RuntimeException: Unable to start service com.parse.PushService@f876cc5 with Intent { act=com.google.android.c2dm.intent.RECEIVE flg=0x10 pkg=ru.tenlevels.tenlevels cmp=ru.tenlevels.tenlevels/com.parse.PushService (has extras) }: java.lang.RuntimeException: applicationContext is null. You must call Parse.initialize(Context) before using the Parse library.
12-05 13:56:25.422 15250 15250 E AndroidRuntime: at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3027)
12-05 13:56:25.422 15250 15250 E AndroidRuntime: at android.app.ActivityThread.-wrap17(ActivityThread.java)
12-05 13:56:25.422 15250 15250 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1442)
12-05 13:56:25.422 15250 15250 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
12-05 13:56:25.422 15250 15250 E AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
12-05 13:56:25.422 15250 15250 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5417)
12-05 13:56:25.422 15250 15250 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
12-05 13:56:25.422 15250 15250 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
12-05 13:56:25.422 15250 15250 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
12-05 13:56:25.422 15250 15250 E AndroidRuntime: Caused by: java.lang.RuntimeException: applicationContext is null. You must call Parse.initialize(Context) before using the Parse library.
12-05 13:56:25.422 15250 15250 E AndroidRuntime: at com.parse.Parse.checkContext(Parse.java:563)
12-05 13:56:25.422 15250 15250 E AndroidRuntime: at com.parse.Parse.getApplicationContext(Parse.java:313)
12-05 13:56:25.422 15250 15250 E AndroidRuntime: at com.parse.ManifestInfo.getContext(ManifestInfo.java:322)
12-05 13:56:25.422 15250 15250 E AndroidRuntime: at com.parse.ManifestInfo.getPackageName(ManifestInfo.java:326)
12-05 13:56:25.422 15250 15250 E AndroidRuntime: at com.parse.ManifestInfo.getIntentReceivers(ManifestInfo.java:131)
12-05 13:56:25.422 15250 15250 E AndroidRuntime: at com.parse.ManifestInfo.hasIntentReceiver(ManifestInfo.java:123)
12-05 13:56:25.422 15250 15250 E AndroidRuntime: at com.parse.ManifestInfo.getPushUsesBroadcastReceivers(ManifestInfo.java:174)
12-05 13:56:25.422 15250 15250 E AndroidRuntime: at com.parse.PushService.wipeRoutingAndUpgradePushStateIfNeeded(PushService.java:504)
12-05 13:56:25.422 15250 15250 E AndroidRuntime: at com.parse.PushService.onStartCommand(PushService.java:485)
12-05 13:56:25.422 15250 15250 E AndroidRuntime: at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3010)
12-05 13:56:25.422 15250 15250 E AndroidRuntime: ... 8 more
Got this, when application was closed and push was received.
(I use App.java for initialization)
Android 6.0
Thanks for the plugin!!
The following issue is happening in both this one and the parent version (avivais, which is missing the bolts jar by the way), but works with benjie version.
Here is the problem:
I was able to save the registration, also subscribe/unsubscribe to a channel, however the deviceToken Is null. I guess that is why I am not able to get any notification from parse.
I saved the SenderID and API Key in Parse. Also created a MainApplication and added the name to Application tag in Android Manifest file.
PS. When I used the benjie version, I was able to receive notification when app was running (also deviceToken was null in parse). How can I make sure the Device Registration ID is received and added to the installation object in parse (I assume that should be saved in deviceToken like in iOS version) ?
Is it possible to have a working example added, so anybody can benefit?
TLDR: how do you add the application class to cordova project as mentioned in the quirks section?
Is there a way to save it to the config.xml? or something similar, so I can share the fix?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.