V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Androilly
V2EX  ›  Java

个推消息推送 demo 示例之 Java 篇

  •  
  •   Androilly · 2016-04-27 16:36:37 +08:00 · 8865 次点击
    这是一个创建于 3143 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1. 点击通知打开应用模板

    1.1 描述

    在通知栏显示一条含图标、标题等的通知,用户点击后激活您的应用。(激活后,打开应用的首页,如果只要求点击通知唤起应用,不要求到哪个指定页面就可以用此功能。

    1.2 应用场景

    场景 1 :针对沉默用户,发送推送消息,点击消息栏的通知可直接激活启动应用,提升应用的转化率。

    1.3 对应接口(Notification Template)

    接口定义

    在通知栏显示一条含图标、标题等的通知,用户点击后激活您的应用( iOS 不推荐使用该模板,详情请看 iOS 模板说明)



    代码实例



    1.4 效果展示
    点击通知栏消息,就可以打开应用并将需要透传的内容发送给应用 



    2. 点击通知打开网页模板

    2. 描述

    在通知栏显示一条含图标、标题等的通知,用户点击可打开您指定的网页。

    2.2 应用场景

    场景 1 :推送广促销活动,用户点击通知栏信息,直接打开到指定的促销活动页面,推送直接到达指定页面,免去了中间过程的用户流失。

    2.3 对应接口( LinkTemplate )

    参数描述

    在通知栏显示一条含图标、标题等的通知,用户点击可打开您指定的网页( iOS 不推荐使用该模板,详情请看 iOS 模板说明)

    参数说明



    LinkTemplate 代码实例



    2.4 效果展示
    点击通知栏的通知消息,就可以自动打开浏览器并且打开代码里面设置的网址 



    3. 点击通知弹窗下载模板

    3.1 描述

    消息以弹框的形式展现,点击弹框内容可启动下载任务。

    3.2 应用场景

    场景 1 :应用有更新,点击推送的更新通知,弹出下载弹窗,点击可启动应用更新下载。

    3.3 对应接口(NotyPopLoadTemplate)

    参数描述

    在通知栏显示一条含图标、标题等的通知,用户点击后弹出框,用户可以选择直接下载应用或者取消下载应用。( iOS 不支持该模板,详情请看 iOS 模板说明)

    参数说明





    NotyPopLoadTemplate 代码实例




    3.4 效果展示

    点击通知栏消息,弹出下载提示框,点击下载即可自动开始下载 



    4. 透传消息模版

    4.1 描述

    透传消息是指消息传递到客户端只有消息内容,展现形式由客户端自行定义。客户端可自定义通知的展现形式,也可自定义通知到达之后的动作,或者不做任何展现。

    4.2 应用场景

    场景 1 :自定义通知栏样式不想使用默认的通知栏样式,即可使用消息透传的形式,自定义通知栏展现形式,使发送的通知更醒目,更突出。



    (红色框内即透传消息,不但样式突出,点击视频可直接播放)

    场景 2 :自定义通知到达之后的动作希望用户点击通知后启动应用直接到和通知相关的界面,免去中间跳转的流失。如用户预订更新的某本图书有更新,点击通知直接启动应用到对应图书的页面,免去用户打开应用后的查找,节省中间环节,提高转化。

    场景 3 :仅传递信息,不做任何展示推送一串代码给应用,该代码仅此 app 可以解析。收到透传消息时,界面不作任何展示,用户无感知,应用收到命令后按代码执行操作。

    4.3 对应接口

    参数描述

    数据经 SDK 传给您的客户端,由您写代码决定如何处理展现给用户

    参数说明



    TransmissionTemplate 代码实例



    5. iOS 模版说明( JAVA )

    5.1 描述

    iOS 推送动作模板支持点击通知打开应用模板、点击通知打开网页模板、透传消息模板(建议使用透传消息模板)。
    只需在 TransmissionTemplate (透传消息模板)/LinkTemplate (点击通知打开网页模板)/NotificationTemplate (点击通知打开应用模板)代码中中通过 setAPNInfo 接口设置相应的 APNS 通知参数即可。

    注:由于在 iOS 中只有当应用启动时才能通过个推 SDK 进行推送(未启动应用时通过 APNS 进行推送),而使用 LinkTemplate (点击通知打开网页模板)和 NotificationTemplate (点击通知打开应用模板)进行推送的话在客户端是以弹窗方式进行通知,因此不推荐在 iOS 上使用这两个推送动作模板。 另外,使用个推 SDK 的 TransmissionTemplate (透传消息模板)发送消息,其传输的数据最大为是 2KB ,而 APNS 最大只支持 256Byte ,因此建议 iOS 推送采用 TransmissionTemplate (透传消息模板)。

    原先 setPushInfo 有两个版本,一个用于简单的 APNS 通知,一个用于完整功能的 APNS 通知:

    setPushInfo(acti onKey, badge, message, sound) 和 setPushInfo(actionLocKey, badge, message, sound, payload, locKey, locArgs, launchImage) ,目前不再建议使用!

    以及 未在文档体现的函数 setPushInfo(actionLocKey, badge, message, sound, payload, locKey, locArgs, launchImage, contentAvailable) ,目前也不建议使用!

    5.2 对应接口

    setAPNInfo(ApnPayload payload);

    5.3 参数描述:

    setAPNInfo 具体参数含义详见苹果 APNS 文档:
    https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html

    5.4 参数说明:





    5.5 代码实例:


    1 条回复    2016-05-05 17:04:03 +08:00
    fwrq41251
        1
    fwrq41251  
       2016-05-05 17:04:03 +08:00
    java sdk 就不能放到 maven 仓库里去?
    引入项目的成本太高了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5868 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 02:39 · PVG 10:39 · LAX 18:39 · JFK 21:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.