【问题标题】:Customise Parse push notification - Android自定义 Parse 推送通知 - Android
【发布时间】:2015-07-05 01:59:22
【问题描述】:

我刚开始使用 Parse 的 Android 推送通知。我已经成功地将解析推送通知集成到我的项目中并进行了测试。它工作正常,但我有一些与此推送通知服务相关的问题,我无法在 Parse 文档中找到。

  1. 如何自定义推送通知的声音?
  2. 如何在不使用解析控制台的情况下从设备本身发送推送通知?
  3. 为了执行上述操作,我必须保存的唯一 ID 是什么?

提前致谢。

【问题讨论】:

    标签: android parse-platform push-notification


    【解决方案1】:

    如何自定义推送通知的声音?

    默认情况下,当收到推送通知时,将调用在 AndroidManifest.xml 中指定的 BroadcastReceiver 和指定的意图过滤器 <action android:name="com.parse.push.intent.RECEIVE" />

    Parse.com 提供了一个 BroadCastReceiver com.parse.ParsePushBroadcastReceiver,它只是发出设备的默认通知声音。它没有特定通知声音的代码,如果您想通过解析更改推送通知声音,您必须使用上面指定的 intentfilter 实现一个新的 BroadCastReceiver 并具有自定义声音的以下代码(它只是部分演示代码):

    Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
    builder.setSound(alarmSound);
    

    如何从设备本身发送推送通知,而无需 使用解析控制台?

    推送通知可以从一个设备发送到另一个设备或从控制台发送到设备。安装在注册推送通知的设备上的每个 Parse 应用程序都有一个关联的 Installation 对象。安装对象是您存储目标推送通知所需的所有数据的地方。现在会有很多应用用户,您可能希望针对特定用户,例如应用在第一次安装应用时收集用户名并将其设置在安装对象中,如下所示:

     ParseInstallation installation = ParseInstallation.getCurrentInstallation();
      installation.put("userName", "ranjith");  //mobile 1
      installation.saveInBackground();
    

    现在要向用户名“ranjith”发送通知,您需要创建一个ParseQuery 对象,条件如下所示-username=ranjith,这将向用户名发送推送通知“兰吉斯”。

    ParseInstallation installation = ParseInstallation.getCurrentInstallation();
        ParseQuery pushQuery = ParseInstallation.getQuery();//mobile2
        pushQuery.whereEqualTo("userName", "ranjith");
        ParsePush push = new ParsePush();
        push.setQuery(pushQuery); // Set our Installation query
        push.setMessage("My first notification");
    

    为了执行上述操作,我必须保存的唯一 ID 是什么?

    这些是 parse 安装对象中存在的 2 个唯一 ID,它们由 parse 生成,您无需担心,要针对特定​​用户,您可以在安装对象中添加唯一 ID/用户名字段,如上所述,

    • installationId:Parse 使用的设备的唯一 ID(只读)。
    • appIdentifier:此安装客户端的唯一标识符 应用。 Android 不支持此参数。(只读)

    【讨论】:

    • 非常感谢 Ranjith 的精彩回答。我对第二个问题有一个疑问。现在installation.put("userName","ranjith") 将存储在解析服务器中?我对吗 ?这样其他人就可以使用此查询通过他的“用户名”获取用户并向他发送推送通知?
    • 没错。它将保存在安装对象下的解析服务器中。您可以在 parse.com 控制台中看到它。
    • 好的,很好。我还有一个疑问。用户名是唯一的吗?如果不是,如何使其独一无二。
    • 兄弟,我尝试使用它并且我成功注册了新的用户名,但是我无法从其他设备发送推送通知。
    • 您需要遵循此处提到的准则parse.com/apps/quickstart#parse_push/android/native/new
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 2015-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多