集成BBM API,让您的应用病毒式传播

在当今的移动应用市场中,用户对无缝体验的需求日益增长。黑莓信使(BBM)作为黑莓手机的一项核心功能,提供了一个强大的平台,使开发者能够将他们的应用与BBM集成,从而提升用户体验并增加应用的传播机会。本文将探讨如何将原生应用与BBM集成,以及如何通过调用框架将BBM的卡片功能引入应用中。

在黑莓10系统中,"卡片"是一种可以在应用内部显示的另一个应用的屏幕,它像应用中的一个屏幕一样运作。这种设计允许用户在不切换应用的情况下,享受到流畅的用户体验。

本文中使用的代码示例是使用QML编写的,但请注意,也可以从C++、黑莓WebWorks™和Adobe® AIR®中使用这些调用特性。

在应用菜单中调用BBM

下面的截图展示了可以在应用菜单中使用的动作,以调用BBM。"BBM调用"文本代表应用屏幕(实际上显示的是BBM调用示例)。每个BBM卡片都将显示在其上方。用户可以随时查看应用屏幕或完全关闭卡片,返回到应用屏幕。

将逐一查看这些卡片,了解它们是如何被调用的,以及一旦被调用后的外观。

以下是如何启动BBM聊天的代码示例。聊天窗口将以卡片的形式流入应用。在上面的例子中,使用了单个PIN。如果省略了URI参数,用户将被提示从他们的BBM联系人列表中选择一个联系人来加入聊天会话。如果与该联系人已经存在聊天会话,它将显示以前的信息。

<InvokeActionItem> <title> 开始BBM聊天 </title> <query> <invokeActionId> bb.action.BBMCHAT </invokeActionId> <uri> pin:2100000a </uri> </query> </InvokeActionItem>

可以提示用户将他们的BBM头像图片更改为应用指定的图片。这将触发一个预览图片的卡片,并允许用户裁剪或缩放。一旦用户对他们的选择感到满意,他们点击保存以更新他们的BBM头像。

<InvokeActionItem> <title> 设置BBM头像图片 </title> <query> <invokeTargetId> sys.bbm.imagehandler </invokeTargetId> <invokeActionId> bb.action.SET </invokeActionId> <uri> file:///path/to/the/file.png </uri> </query> </InvokeActionItem>

如果知道尚未使用黑莓信使的联系人的黑莓PIN,可以使用上面显示的BlackBerry.action.INVITEBBM调用动作来邀请他们加入BBM。然后,用户可以在发送消息之前为他们的联系人编写一条个性化消息。

<InvokeActionItem> <title> 邀请加入BBM </title> <query> <invokeActionId> bb.action.INVITEBBM </invokeActionId> <uri> pin:2100000A </uri> </query> </InvokeActionItem>

通过BBM分享文本使应用能够启动一个聊天会话,并在数据部分指定的文本填充消息输入字段。就像上面开始BBM聊天会话一样,如果存在以前的聊天会话,将显示消息历史。

<InvokeActionItem> <title> 通过BBM分享文本 </title> <query> <mimeType> text/plain </mimeType> <invokeTargetId> sys.bbm.sharehandler </invokeTargetId> <invokeActionId> bb.action.SHARE </invokeActionId> <data> This is some text to share. </data> </query> </InvokeActionItem>

通过BBM分享图片的工作方式与分享文本几乎相同,只是指定了一个指向图片文件的URI。它带来了一个聊天卡片,消息已经编写好并准备好发送,图片已经附加。

<InvokeActionItem> <title> 通过BBM分享图片 </title> <query> <invokeTargetId> sys.bbm.sharehandler </invokeTargetId> <invokeActionId> bb.action.SHARE </invokeActionId> <uri> file:///path/to/image/file.png </uri> </query> </InvokeActionItem>

为了简单起见,上面的QML代码示例使用了硬编码的数据和URI值。然而,在实际应用中,会希望使用基于应用内变量的动态值。可以使用onTriggered方法来实现这一点。

<InvokeActionItem> <title> 通过BBM分享文本 </title> <query> <mimeType> text/plain </mimeType> <invokeTargetId> sys.bbm.sharehandler </invokeTargetId> <invokeActionId> bb.action.SHARE </invokeActionId> <data> This is some text to share. </data> </query> <onTriggered> { data = "Some new text" } </onTriggered> </InvokeActionItem>
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485