标签: parse-platform

Android Parse Push通知设备只在一台设备上注册一次

每个人都在我的应用程序中使用解析服务进行推送通知.但是当我在一台设备上重新安装应用程序时,它会一直注册.然后问题是,一台设备会在每台设备上收到多个通知.我已经完成了一些注册代码,如下所示.请帮助我,提前谢谢.

Parse.initialize(this, PARSE_APP_ID, PARSE_CLIENT_KEY);
ParseACL defaultACL = new ParseACL();
defaultACL.setPublicReadAccess(true);
ParseACL.setDefaultACL(defaultACL, true);
PushService.setDefaultPushCallback(this, MainActivity.class);
ParseInstallation.getCurrentInstallation().getInstallationId();
ParseInstallation.getCurrentInstallation().saveInBackground();
Run Code Online (Sandbox Code Playgroud)

并订阅:

PushService.subscribe(this, userName, Detail.class);
Run Code Online (Sandbox Code Playgroud)

在清单中

以上

  <permission
    android:name="com.example.app.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />

  <uses-permission android:name="com.example.app.permission.C2D_MESSAGE" />
Run Code Online (Sandbox Code Playgroud)

在应用标签中:

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

    <receiver android:name="com.app.example.PushReceiver" >

        <intent-filter>
            <action android:name="act" />
            </action>
        </intent-filter>
    </receiver>

    <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" />
            <action android:name="act" />
            <category android:name="com.example.app" />
        </intent-filter>
    </receiver>
Run Code Online (Sandbox Code Playgroud)

每次我安装时,都显示错误,如下所示.

03-10 12:18:48.555: E/ParseCommandCache(12709): Failed to …
Run Code Online (Sandbox Code Playgroud)

android push-notification devicetoken parse-platform google-cloud-messaging

15
推荐指数
3
解决办法
2万
查看次数

registerForRemoteNotifications方法未正确调用

我目前正在使用Xcode6 beta(第一版).使用parse.com,我正在尝试实现推送通知.在我的应用代表中,我有

  [application registerForRemoteNotifications];
Run Code Online (Sandbox Code Playgroud)

当我在ios8 beta iPhone上运行它时,应用程序不会询问我是否要启用推送通知,并且application:didRegisterForRemoteNotificationsWithDeviceToken:从不调用相应的通知.但是,当我尝试在ios7 iPhone上运行它时,应用程序崩溃了,我收到了unrecognized selectorregisterForRemoteNotifications方法的错误.

然后,我尝试在以前版本的Xcode(版本5.0)上运行它,但我收到了编译错误 no visible @interface declares registerForRemoteNotifications

我假设这个错误与过渡到iOS 8的错误有关,但我不知道如何解决这个问题.

xcode push-notification ios parse-platform

15
推荐指数
2
解决办法
4万
查看次数

作为PNG Swift的NSSI的NSI映像

我正在写一个基于iOS应用程序的Mac应用程序.下面的代码将UIImage转换为NSData以上传到Parse.com.

我想为Mac做同样的事情,但我似乎无法将其转换为NSData.我该怎么办?

谢谢

var image = UIImage(named: "SmudgeInc")

let imageData = UIImagePNGRepresentation(image)

let imageFile = PFFile(name:"image.png", data:imageData)
Run Code Online (Sandbox Code Playgroud)

nsimage uiimage nsdata uiimagepngrepresentation parse-platform

15
推荐指数
1
解决办法
9308
查看次数

ios:队列在后台阻塞,并在网络可用时执行

我正在使用parse.com API开发一个应用程序(托管后端提供API以在其服务器上保存数据).我希望能够在线和离线无缝使用该应用程序.为此,我需要使用一个队列,我可以放置需要网络访问的块.当网络确实可用时,应该串行执行这些块,当网络脱机时,应该暂停队列处理.

当网络变得可用/不可用时,我正在考虑将GCD用于暂停/恢复.我想知道是否有更好的选择?如果将应用程序放在后台,这会有效吗?这里的一个例子是,当网络不可用(排队等待)然后将应用程序置于后台时,用户会保存一些数据.现在,当网络可用时,是否可以自动在后台进行保存?

queue grand-central-dispatch reachability ios parse-platform

14
推荐指数
1
解决办法
5072
查看次数

Android:错误com.parse.ParseException:必须在此操作中指定至少一个ID字段(installationId,deviceToken)

我在我们的应用程序中使用解析推送通知但在设备注册时出现一些问题,错误如下所示.当我们向设备发送推送通知时,还有一个问题,即设备收到多个通知.虽然我们也将解析库升级到Parse 1.4.1.请帮助我,提前谢谢.

首次安装应用时会显示错误:

04-14 14:00:40.004: E/LOG(26045): Socket event: onConnect 
04-14 14:00:41.874: E/ParseCommandCache(26045): Failed to run command.
04-14 14:00:41.874: E/ParseCommandCache(26045): com.parse.ParseException: at least one ID field (installationId,deviceToken) must be specified in this operation
04-14 14:00:41.874: E/ParseCommandCache(26045):     at com.parse.ParseCommand$2.then(ParseCommand.java:348)
04-14 14:00:41.874: E/ParseCommandCache(26045):     at com.parse.Task$10.run(Task.java:452)
04-14 14:00:41.874: E/ParseCommandCache(26045):     at com.parse.Task$1.execute(Task.java:68)
04-14 14:00:41.874: E/ParseCommandCache(26045):     at com.parse.Task.completeImmediately(Task.java:448)
04-14 14:00:41.874: E/ParseCommandCache(26045):     at com.parse.Task.continueWith(Task.java:322)
04-14 14:00:41.874: E/ParseCommandCache(26045):     at com.parse.Task.continueWith(Task.java:333)
04-14 14:00:41.874: E/ParseCommandCache(26045):     at com.parse.Task$8.then(Task.java:385)
04-14 14:00:41.874: E/ParseCommandCache(26045):     at com.parse.Task$8.then(Task.java:377)
04-14 14:00:41.874: E/ParseCommandCache(26045):     at com.parse.Task$11.run(Task.java:485)
04-14 …
Run Code Online (Sandbox Code Playgroud)

android device push-notification parse-platform

14
推荐指数
2
解决办法
4519
查看次数

Parse.com - Android自定义推送通知声音

我知道Android中的推送通知声音可以自定义(在iOS上已经正常工作).

但是,我没有在文档中看到任何引用,只有iOS自定义声音.

我在Parse.com论坛上看到大约一年前要求提供这样的功能,并回答它是"在桌面上".

关于那个的任何更新?如果没有"正式"支持,任何已知的解决方法,以使其工作?

android android-notifications parse-platform google-cloud-messaging

14
推荐指数
2
解决办法
3781
查看次数

如何在Parse Promise链中传递额外数据

在我的Parse Cloude代码中,我需要运行几个连续的查询,每个查询都使用"find()".

例:

var promise = firstQuery.get(objectId).then(function(result1){
            return secondQuery.find();
        }).then(function(result2){
            return thirdQuery.find();
        }).then(function(result3) {

             // here I want to use "result1", "result2" and "result3"
        });
Run Code Online (Sandbox Code Playgroud)

问题是:如何在最后的"then"语句中访问"result1"和"result2",而不将它们分配给父作用域中声明的变量.

为什么我这样问:如果要嵌套一堆你在循环中创建的promises以便它们并行执行,你就不能使用父作用域技巧(想象一下围绕上述语句的for循环,其中所有的promise都是放入一个数组然后使用"Parse.Promise.when"进行评估.它们都会同时开始修改父作用域变量.)

我可以创建某种承诺对象,我可以返回以下内容:

Parse.promise({result:result1,findResult:secondQuery.find()};
Run Code Online (Sandbox Code Playgroud)

所以我可以通过这样做从"result2"参数中获取值

result2.result 
Run Code Online (Sandbox Code Playgroud)

result2.findResult
Run Code Online (Sandbox Code Playgroud)

我希望我能说清楚.这不是很容易解释.

javascript promise parse-platform parse-cloud-code

14
推荐指数
2
解决办法
1万
查看次数

错误:'没有更多上下文的表达式类型不明确'

我对Swift编码很新,所以请原谅我这个错误是一个简单的答案!

我一直收到一条错误消息,上面写着"没有更多上下文,表达类型不明确".

    var findTimelineData: PFQuery = PFQuery(className: "Sweets")
    findTimelineData.findObjectsInBackgroundWithBlock {
        (objects:[AnyObject]?, error:NSError?) -> Void in

        if error == nil {
            for object:PFObject in objects! { // ----This is the error line---
                self.timelineData.addObject(object)
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

有什么建议?

谢谢!

compiler-errors ios parse-platform swift

14
推荐指数
1
解决办法
2万
查看次数

实现Parse Unity插件的应用程序在Android设备上崩溃,但在编辑器中工作正常

我想在我的Unity游戏中使用Parse来实现高分.我的问题是,当我尝试将游戏放在我的Android设备上进行测试时,应用程序的名称会有所不同.它出现了"ParseUnityPushSample",即使除了添加Parse让我使用它的文件之外我没有改变任何东西.构建设置没有改变,它甚至显示我的包名称是相同的,但在设备上测试它有这个结果.

在Unity 5中测试它可以正常工作.游戏加载应该.这只有在我尝试将其放在设备上进行测试时才会发生.

随着它改变应用程序名称,它也会在打开时崩溃.当我尝试在Android设备上打开它时,我得到一个提示,说"ParseUnityPushSample"失败了.

编辑:

好的,所以我找到了一种方法来查看在设备上进行测试时发生的一些错误.我收到此错误:"无法在清单中找到统一活动.您需要确保将orientation属性设置为sensorLandscape手动.UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()"我不知道问题是什么,因为我手动设置了Android Manifest中sensorLandscape活动的方向.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.laserdeflector.sab" android:versionName="1.0.1" android:versionCode="1" android:installLocation="preferExternal">
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="22" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission android:protectionLevel="signature" android:name="com.laserdeflector.sab.permission.C2D_MESSAGE" />
<uses-permission android:name="com.laserdeflector.sab.permission.C2D_MESSAGE" />
<uses-permission android:name="com.android.vending.BILLING" />
<application android:label="Laser Deflector" android:icon="@drawable/app_icon" android:screenOrientation="sensorLandscape" android:name="com.soomla.SoomlaApp" android:debuggable="false" android:isGame="true">
<activity android:name=".UnityPlayerActivity">
  <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
    <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
  </intent-filter>
</activity>
<receiver android:name="com.parse.ParsePushBroadcastReceiver" 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" /> …
Run Code Online (Sandbox Code Playgroud)

c# android unity-game-engine parse-platform unity5

14
推荐指数
1
解决办法
692
查看次数

如何将解析仪表板部署到heroku

我已经在heroku上部署了解析服务器(https://github.com/ParsePlatform/parse-server),但在heroku上找不到任何可以部署解析仪表板的东西.任何参考赞赏!!

heroku parse-platform

14
推荐指数
3
解决办法
4285
查看次数