目前,测试黑莓10上的BBM SP应用程序需要一个真实的设备。正在努力在黑莓10模拟器中添加BBM SP支持,这应该在2012年底之前可用。支持测试使用BBM SP的黑莓OS 5-7应用程序在许多今天可用的黑莓智能手机模拟器中得到支持,所以请确保下载了一个列出对BBM支持的模拟器。
黑莓10 WebWorks SDK包括了开始所需的一切。如果有一个黑莓OS 5-7应用程序,需要下载BBM SDK v1.1 for BlackBerry WebWorks,以及常规的黑莓WebWorks SDK for Smartphones。连接这两个SDK以针对黑莓OS 5-7的说明可以在"黑莓WebWorks开发入门和BBM社交平台"中找到。
为了使应用程序能够访问BBM SP API,需要在应用程序的config.xml文件中请求适当的权限。需要添加两个元素:
bbm_connect
注册是连接到BBM社交平台的第一步,涉及应用程序向RIM托管的BBM基础设施注册。在黑莓github网站上有一个BBM示例,展示了BBM SP注册以及邀请下载功能。在阅读完本节后,请查看它,以获得这里使用的代码片段的完整版本。
当使用黑莓WebWorks时,首先要注册onaccesschanged事件。如果在注册此事件之前尝试注册,将抛出IllegalStateException。以下是如何注册此事件的方法:
blackberry.event.addEventListener("onaccesschanged", function (accessible, status) {
if (status === 'allowed') {
// 访问被允许。
}
});
这个代码示例只捕获了允许状态。应用程序需要处理可能由于用户不在覆盖范围内或用户不允许访问BBM而导致的不允许状态。BBM示例演示了如何捕获其他状态。
每个应用程序必须定义自己的通用唯一标识符(UUID),以便它可以唯一地识别自己。这个UUID用于在测试和开发期间向BBM SP服务器注册。在黑莓应用世界™商店中的应用程序自动分配了自己的UUID。可以使用各种网站生成UUID,例如这个。在黑莓WebWorks中,UUID存储在注册中使用的选项参数中。
var options = {
uuid: "33490f91-ad95-4ba9-82c4-33f6ad69fbbc"
};
现在已经准备好了注册过程中的最后一步,即使用上面定义的选项参数调用register方法。这将触发onaccesschanged事件。
blackberry.bbm.platform.register(options);
邀请下载功能允许应用程序的用户邀请他们的BBM联系人从黑莓应用世界下载应用程序。收件人通过BBM聊天会话收到邀请,其中包含应用程序和发送邀请的用户提供的一条消息。这是最容易实现的功能之一。注册后,只需要一个方法调用来完成这个操作。
blackberry.bbm.platform.users.inviteToDownload();
请注意,要使这在黑莓10和黑莓OS 5-7用户之间工作,黑莓应用世界中两个应用程序发布的SKU(BAR和COD)必须相同。
BBM SP允许对用户的BBM个人资料进行读写访问。这允许应用程序访问他们的个人资料消息、状态文本、可用性和头像图片。以下是如何使用这些API的一些示例:
第一个代码示例展示了如何访问用户为他们BBM个人资料设置的图片。
blackberry.bbm.platform.self.getDisplayPicture(function (image) {
// 在这里处理图片
});
现在让看看应用程序如何更新用户的BBM个人资料图片。
blackberry.bbm.platform.self.setDisplayPicture("local:///smiley.jpg", function (accepted) {
if (accepted) {
// 用户允许更改
} else {
// 用户拒绝更改
}
});
如果从BBM客户端以外的应用程序更新了个人消息,更新下方会显示一个标签,显示执行更新的应用程序的名称。用户可以点击该标签从黑莓应用世界下载应用程序。这要求发送者已经从黑莓应用世界安装了应用程序,以便该标签不会将带到黑莓应用世界,如果为测试侧加载了应用程序。让看看如何更新个人消息和状态。
blackberry.bbm.platform.self.setStatus("busy", "Getting a new high score", function (accepted) {
if (accepted) {
// 用户允许更改
} else {
// 用户拒绝更改
}
});
blackberry.bbm.platform.self.setPersonalMessage("I’m loving this app!", function (accepted) {
if (accepted) {
// 用户允许更改
} else {
// 用户拒绝更改
}
});
个人资料框为应用程序提供了另一种方式,向用户的BBM联系人推广自己。它们出现在用户个人资料的"应用"区域,非常适合分享用户在应用程序中正在做的事情。每个连接到BBM SP的应用程序都出现在列表中。应用程序可以创建出现在其应用程序标题下的个人资料框项目。可以提供自定义图片和字符串,用于创建个人资料框项目。
使用黑莓WebWorks在黑莓10上添加个人资料框项目的能力目前尚不支持,但可以在黑莓OS 5-7上这样做。有C和C++ API用于在黑莓10上填充个人资料框,因此可以通过构建自定义的黑莓WebWorks扩展来实现这一点。
创建个人资料框项目时,使用图片是可选的。如果不希望包含图片,可以从选项变量中省略它。
var options = {text: "No one’s ever beat me at solitare!", icon: "local:///cardshark.jpg", cookie: "unbeatable"};
blackberry.bbm.platform.self.profilebox.addItem(options);