当前位置: 首页 > 知识库问答 >
问题:

未收到通知

田谦
2023-03-14

我们正在使用解析存储聊天消息,我们正在使用解析通知。

对于iOS,我们这样做是为了在Parse的安装表中创建条目…它在parse的安装表中创建条目,我认为这是接收通知所必须的。

 PFInstallation *currentInstallation = [PFInstallation currentInstallation];

 currentInstallation.deviceToken = user.notificationToken;

[currentInstallation saveInBackground];

我没有收到来自解析的通知,我认为这是没有收到通知的原因…

事实是这样的吗?

有谁能帮我走上正路吗?

更新

现在收到通知但仍有些疑虑。我在用户登录时执行此操作。我有放条件,如果用户没有创建,那么只有创建,否则不。我没有把它加进去,因为那不是必要的

   // setting up parse installation
private void setUpParseInstallation()
{

    ParseInstallation currentInstallation = ParseInstallation
            .getCurrentInstallation();

    currentInstallation.saveInBackground(new SaveCallback()
    {

        @Override
        public void done(com.parse.ParseException e)
        {
            if (e != null)
            {
                Log.e(TAG, "Error saving parse installation");
            }
        }
    });
}




// add user to parse it it doesn't exist otherwise handle the cases
private void addUserToParseIfNotExisting()
{

            // if user doesn't exist create a new user
        ParseObject newuser = new ParseObject("user");
            newuser.put("name", email);
            newuser.put("userId", id);

            newuser.saveInBackground();
}


private void setChannel()
{
     channel = "abdf";
         RS_User user = new RS_User(this);

    ParseQuery<ParseObject> pquery = ParseQuery.getQuery("user");

    pquery.whereEqualTo("userId", user.getUserId());

    // see if user exists in user table on parse
    pquery.findInBackground(new FindCallback<ParseObject>()
    {

        @Override
        public void done(List<ParseObject> list,
                com.parse.ParseException error)
        {

            if (list.size() > 0)
            {
                        list.get(i).put("channels", channel);
                        list.get(i).saveInBackground();
                                            PushService.subscribe(getApplicationContext(),channel, RS_HelpActivity.class);

            }
       } 
   });
}

发送通知

ParsePush push = new ParsePush();
                                if(object.get(k).has("channels"))
                                {
                                    push.setChannel(object.get(k).getString(
                                            "channels"));
                                }
                                push.setData(dataAndroid);
                                push.sendInBackground();

共有1个答案

卢志强
2023-03-14

希望这段代码对您有所帮助

public class Application extends android.app.Application {

  public Application() {
  }

  @Override
  public void onCreate() {
    super.onCreate();

    // Initialize the Parse SDK. 
    Parse.initialize(this, "your applicationId", "your clientKey"); 

    // Specify an Activity to handle all pushes by default.
    PushService.setDefaultPushCallback(this, MainActivity.class);
  }
}
<application
    android:name="<Your Package Name>.Application"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
 类似资料:
  • 我的应用程序正确接收到通知,但无法显示带有接收信息的通知弹出(如果应用程序打开)。 注意:如果应用程序在后台,则通知将毫无问题地显示。 我以以下方式接收通知: 然后它调用这个(按照我的理解,它应该显示通知): Firebase通知 null 我的问题就出在这条线上 无法显示通知 更新我已经阅读了关于Android通知的更多信息 https://developer.android.com/guide

  • 我正在接收令牌,但当我从Firebase控制台发送通知时,我的设备上不会发生任何事情,无论应用是否处于后地。与此同时,我的Android应用程序收到通知。 我遵循了这个指南: https://firebase.google.com/docs/cloud-messaging/ios/client 为了确保这一点,我还在 https://github.com/firebase/quickstart-i

  • 嗨,我正在为Windows Phone8开发。我需要发送和接收贴图推送通知使用PHP。我的设备上未收到平铺推送通知。我得到了下面给出的错误。有人能告诉我为什么我要面对这个问题吗? 错误: HTTP/1.1 200 OK缓存-控件:专用服务器:Microsoft-IIS/7.5 X-DeviceConnectionStatus:已连接X-NotificationStatus:已取消X-Subscri

  • 当我的应用程序处于打开状态时,我正在通过onMessageReceived(Remotemessage mesg)获得推送通知。如果我的应用程序处于Kilded状态,我将收到推送通知,但不是从onMessageReceived()获得的。 意思是,在收到推送通知后,根据通知中的数据,我需要重定向页面,当通知点击时。如果应用程序在前景工作良好。当我杀人的时候,我在托盘上收到通知,但当我点击通知时,它

  • 我对FireBase云消息有一个问题,我从设备中获取令牌,并通过Google FireBase通知控制台发送通知测试。但是,通知从来没有被记录,也没有被推送到android虚拟设备。FCM的文档几乎与下面的代码完全相同,其他代码很少,您还需要做什么来获得使用FireBase的推送通知。我已经完成了所有的设置信息(build.gradle添加、安装google play服务等)如文档中所指定的,但仍

  • Samsung正在成功获取应用程序在后台或前台被杀死, 我的目标是API27,这是我的代码 分级