快速入门

快速入门

第一步: 创建个推开发者账号

访问个推开发者中心http://dev.getui.com, 注册个推开发者帐号,如下图所示:

第二步: 获取访问凭证

创建账号成功并登录后,可以在应用列表中看到自动生成的【个推App Demo】,然后点击【创建推送】,如下图所示:

然后点击左侧菜单栏【配置管理】—> 【应用配置】,就能看到关于此app的配置信息,这些配置信息就是第五步使用SDK发送消息需要的AppID,AppKey,MasterSecret,如下图所示:

第三步: 安装Demo应用到手机

在应用【个推App Demo】点击【下载应用】,下载后安装到手机上,用来接受推送消息:

第四步: 安装个推C/C++ SDK

下载demo程序

下载个推C/C++ Demo,下载地址为: http://www.getui.com/download/docs/getui/server/GETUI_CPP_SDK_4.0.1.0.zip ,目录结构如下图所示:

第五步: 使用C/C++ SDK发送消息

安装调试好C++环境后,下面是以app推送接口代码为例来发送消息:

#include "IGtPush.h"
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <string>
#ifdef WIN32
#include <windows.h>
#endif

using namespace std;
static void printResult(IPushResult &result);
static void TransmissionTemplateDemo(TransmissionTemplate* templ)

// http的域名
//static char *host ="http://sdk.open.api.igexin.com/apiex.htm";

//https的域名
static char *host ="https://api.getui.com/apiex.htm";

//定义常量, appId、appKey、masterSecret 采用本文档 "第二步 获取访问凭证 "中获得的应用配置
static char *appId = "";            
static char *appKey = "";            
static char *masterSecret = "";        

void toapptest();

void toapptest(){

    // 定义"AppMessage"类型消息对象,设置消息内容模板、发送的目标App列表、是否支持离线发送、以及离线消息有效期(单位毫秒)
    Message msg = {0};
    msg.isOffline = 0;//是否离线下发
    msg.offlineExpireTime = 1000*3600*2;//离线下发有效期 毫秒
    msg.pushNetWorkType = 0;//0不限 1wifi 2:4G/3G/2G

    AppMessage appMsg = {0};
    appMsg.msg = msg;
        appMsg.speed = 10000;//定速
    char* appList[] = {appId};
    appMsg.appIdList = appList;
    appMsg.appIdListSize = 1;

    IPushResult result = {0};
    //透传模板,设置透传内容和透传形式
    TransmissionTemplate tmpl= {0};
        TransmissionTemplateDemo(& tmpl);
    result = pushMessageToApp(appKey, &appMsg, &tmpl, Transmission);
    //打印结果
    printResult(result);
}

/*    透传消息模板    */
void TransmissionTemplateDemo(TransmissionTemplate* templ)
{
    templ->t.appId = appId;
    templ->t.appKey = appKey;
     //应用启动类型,1:强制应用启动 2:等待应用启动
    templ->transmissionType = 1;          
    //透传内容  
    templ->transmissionContent = "您输入的透传内容";

    //templ->t.duration_start="2015-07-10 18:00:00";
    //templ->t.duration_end="2015-07-10 19:00:00";
} 

static void printResult(IPushResult &result) {
    cout << "print result:-------------" << endl;
    for (int i = 0; i < result.size; i++) {
        cout << result.entry[i].key << ": " << result.entry[i].value << endl;
    }
    cout << "print end:----------------" << endl;
}

int main(){
    // 注意:接口传入字符必须为UTF-8编码,因ASCII字符UTF-8编码后与原先一样,所以可以不编码,但中文等非ASCII字符必须编码
    // 如果返回的类似错误"post http data failed, code=6"
    //错误码可百度CURL返回的错误码是什么意思,如http: www.cnblogs.com/wainiwann/p/3492939.html
    Result r = pushInit(host, appKey, masterSecret, "编码");//"编码"两个字为固定写法,不需要做转换
    if(r!=SUCCESS){
        printf("pushInit for app failed: ret=%d\n", r);
        return -1;
    }
    toapptest();

    return 0;
}

调试运行。如果收到下面一样的推送,恭喜你~推送成功了。

通知
2018.06.19 Android SDK 2.12.4.0

增加Applink点击回执接口 修复若干其他bug以及性能优化

......
2018.06.19 iOS SDK 2.3.0.0

新增 AppLink 服务及统计支持。 新增短信补量推送服务。

......
2018.03.21 Android SDK 4.3.0.0

增加通知到达、点击回调 适配Android 8.0 修复若干其他bug

......
2018.03.19 Android SDK 2.12.3.0

增加通知到达、点击回调 适配Android 8.0 修复若干其他bug

......
2018.01.29 JAVA SDK 4.0.1.17

苹果消息推送添加语音功能(VOIP)

......

文档中心搜索