帮助与文档

> >

一、下载并导入 MobPush for Cocos2dx

下载MobPush-For-cocos2dx,下载完成后打开项目,将/Classes/C2DXMobPush文件夹复制到您的cocos2dx项目/Classes目录下

导入C2DXMobPush文件夹

 

二、 导入MobPush for iOS

 pro.ios_mac 文件夹的 SDK 文件夹导入项目,也可以去官网下载 MobPush 。如果集成中有问题可以参考 MobPush 集成文档 

三、找到项目的plist文件,添加MOBAppKey,MOBAppSecret

MOBAppKey,MOBAppSecret可在官网后台申请获得,不要用 demo 中的 key

四、开启通知权限

打开project  -> 选择Tagrt  -> capabilities -> 打开 push notifications   background modes 选择 remote notifications  ,开启通知配置。

 

五、推送API

(1). 设置推送环境

/ / isPro 参数:推送环境,生产环境为 true,开发环境为 false,默认为 false

C2DXMobPush::setAPNsForProduction(false);


设置推送环境放在 AppDelegate::applicationDidFinishLaunching()

(2). 设置推送

C2DXMobPushCustomNotification *noti = new C2DXMobPushCustomNotification();

        noti->type = (AuthorizationType) (AuthorizationTypeBadge | AuthorizationTypeAlert | AuthorizationTypeSound);

 C2DXMobPush::setCustomNotification(noti);

 

这段代码可以在任何地方,但是必须执行这段代码,才能继续以下操作。

(3). 设置推送监听

C2DXMobPush::addPushReceiver();

这段代码只需要添加一次,无需多次监听,建议在程序启动监听,放在 AppDelegate::applicationDidFinishLaunching()。

(4). 设置监听回调

C2DXMobPush::setC2DXMessageCallBack(&AppDelegate::onC2DXMessageCallBack);

void AppDelegate::onC2DXMessageCallBack(int action, C2DXMobPushMessage *message)

{
    CCLOG("onC2DXMessageCallBack");
}

(5). RegId

//  获取 RegId
C2DXMobPush::getRegistrationId(&AppNotify::getId);

void AppNotify::getId(const char *c)

{
    CCLOG(">>>getId>>>>>%s", c);
}

(6). 标签

/**

 添加标签


 @param tags 标签集合

 */

static void addTags(C2DXArray *tags);


/**

 获取标签集合

 */

static void getTags();


/**

 删除标签


 @param tags 标签集合

 */

static void deleteTags(C2DXArray *tags);


/**

 清空标签

 */

static void clearAllTags();


// 标签回调

C2DXMobPush::setC2DXTagsCallBack(&AppNotify::onC2DXTagsCallBack);


void AppNotify::onC2DXTagsCallBack(C2DXArray *tags, int operation, int errorCode)

{

    C2DXObject *ob = tags->getLastObject();

    C2DXString *xc = (__String *) ob;

    CCLOG(">>>onC2DXTagsCallBack>>>>>%s",xc->_string.c_str());

    CCLOG(">>>onC2DXTagsCallBack>>>>>%d", operation);

    CCLOG(">>>onC2DXTagsCallBack>>>>>%d", errorCode);

}

(7). 别名

/**

 设置别名


 @param alias 别名名称(为空时无效)

 */

static void setAlias(const char *alias);


/**

 获取当前设置的别名

 */

static void getAlias();


/**

 删除别名

 */

static void clearAllAlias();


// 别名回调

C2DXMobPush::setC2DXAliasCallBack(&AppNotify::onC2DXAliasCallBack);


void AppNotify::onC2DXAliasCallBack(const char *alias, int operation, int errorCode)

{

    CCLOG(">>>onC2DXAliasCallBack>>>>>%s", alias);

    CCLOG(">>>onC2DXAliasCallBack>>>>>%d", operation);

    CCLOG(">>>onC2DXAliasCallBack>>>>>%d", errorCode);

}

(8). 添加本地通知

C2DXMobPushLocalNotification *notification = new C2DXMobPushLocalNotification();

notification->content = mEditBox->getText();

notification->timeStamp = 0;

C2DXMobPush::addLocalNotification(notification);

(9). 其他 API

/**

 模拟发送推送消息


 @param type 消息类型:1、通知测试;2、内推测试;3、定时

 @param text 模拟发送内容,500字节以内,UTF-8

 @param space 仅对定时消息有效,单位分钟,默认1分钟

 @param extras 附加字段

 @param reqResultEvent 回调

 */

static void req(int type, const char *text, int space, const char *extras,

                C2DXReqResultEvent reqResultEvent);

该接口仅试用于 Demo , 开发者可忽略。

相关文档