JPush极光推送代码(已弃用,请参照另一篇)

package com.hxkj.Jpush;






import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


import cn.jiguang.common.ClientConfig;
import cn.jpush.api.JPushClient;
import cn.jpush.api.push.PushResult;
import cn.jpush.api.push.model.Options;
import cn.jpush.api.push.model.Platform;
import cn.jpush.api.push.model.PushPayload;
import cn.jpush.api.push.model.audience.Audience;
import cn.jpush.api.push.model.notification.AndroidNotification;
import cn.jpush.api.push.model.notification.IosNotification;
import cn.jpush.api.push.model.notification.Notification;
//import cn.piesat.dragonfly.dao.MessageDao;
//import com.hxkj.Jpush.Message;
//import org.springframework.web.context.ContextLoader;
//import org.springframework.web.context.WebApplicationContext;


/**
 * 
 * Created by Administrator on 2017/1/10.
 */


public final class JPushClientUtil {


static ClientConfig config = ClientConfig.getInstance();


private static final String appKey = "8b323a0487ddfd674c37b35f"; // 必填,每个应用都对应一个appKey
private static final String masterSecret = "85f34a3a01e94ba9f41a02cc";// 必填,每个应用都对应一个masterSecret
private static JPushClient client = null;


static {
client = new JPushClient(masterSecret, appKey, null, config);
}


private static PushPayload buildBroadCastPayload(String title,
String message) {

return PushPayload.newBuilder()

.setPlatform(Platform.newBuilder().setAll(true).build())

.setAudience(Audience.newBuilder().setAll(true).build())

.setNotification(Notification.newBuilder().

addPlatformNotification(IosNotification.newBuilder()

.setBadge(1)

.setContentAvailable(false)

.setMutableContent(false)

.setSound("defalut")

.setAlert(message)

.setCategory(title)

.build()

)

.addPlatformNotification(AndroidNotification.newBuilder()

.setAlert(message)

.setTitle(title)

.build())

.build())

.setOptions(Options.newBuilder()

.setApnsProduction(true)

.setSendno(100000)

.setTimeToLive(86400)

.build()

)

.build();

}


/**

* 推送消息到个人


@param user_id


@param message
*/


public static boolean pushForOne(String user_id, String title,
String message, Map<String, String> map) {


PushPayload payload = buildSinglePayload(user_id, title, message, map);
System.out.println(payload);
PushResult result = null;
try {


result = client.sendPush(payload);
System.out.println(result);
if (result.getResponseCode() == 200) {

System.out.println("推送结果:" + result.getResponseCode());
return true;
}
return false;


} catch (Exception e) {
e.printStackTrace();
}
return false;


}


// 组织数据方法
private static PushPayload buildSinglePayload(String user_id, String title,
String message, Map<String, String> map) {


return PushPayload.newBuilder()


.setPlatform(Platform.newBuilder().setAll(true).build())


.setAudience(Audience.alias(user_id))


.setNotification(Notification.newBuilder()


.addPlatformNotification(IosNotification.newBuilder()// ios


.setBadge(1)


.setContentAvailable(true)


.setMutableContent(false)


.setSound("defalut")


.setCategory(title)
.addExtras(map)
.setAlert(message)


.build()


)


.addPlatformNotification(
AndroidNotification.newBuilder()//安卓
.addExtras(map)
.setAlert(message)
.setTitle(title)

.build())


.build())


.setOptions(Options.newBuilder()


.setApnsProduction(false)


.setSendno(100000)


.setTimeToLive(86400)


.build()


)


.build();


}





// 测试方法
public static void main(String[] args) {
try {
for (int i = 2; i < 5; i++) {
Map<String, String> map = new HashMap<String, String>();
map.put("e", i + "");
Date date = new Date();
SimpleDateFormat df = new SimpleDateFormat(
"yyyy-MM-dd hh:mm:ss");
boolean flag = pushForOne("15011346785", "test",
df.format(date) + " 第" + i + "条", map);
System.out.println(flag);


}
System.exit(0);
} catch (Exception e) {
e.printStackTrace();
}
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是 Android 使用极光推送绑定别名的代码示例: ```java import cn.jpush.android.api.JPushInterface; // 绑定别名 JPushInterface.setAlias(context, sequence, alias); // 解绑别名 JPushInterface.deleteAlias(context, sequence); ``` 其中,`context` 参数为当前上下文对象,`sequence` 参数为求码,`alias` 参数为需要绑定的别名。 注意事项: - 绑定别名时,如果已经绑定了别名,则会覆盖之前的别名; - 解绑别名时,如果当前设备没有绑定别名,则不会有任何影响。 另外,在使用极光推送时,需要在 AndroidManifest.xml 文件中添加以下权限: ```xml <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="cn.jpush.android.permission.RECEIVE_MSG" /> <uses-permission android:name="cn.jpush.android.permission.READ_PHONE_STATE" /> <uses-permission android:name="cn.jpush.android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="cn.jpush.android.permission.VIBRATE" /> <uses-permission android:name="cn.jpush.android.permission.RECEIVE_BOOT_COMPLETED" /> ``` 并且,需要在 AndroidManifest.xml 文件中添加以下服务和接收器: ```xml <!-- 极光推送服务 --> <service android:name="cn.jpush.android.service.PushService" android:enabled="true" android:exported="false" > <intent-filter> <action android:name="cn.jpush.android.intent.REGISTER" /> <action android:name="cn.jpush.android.intent.REPORT" /> <action android:name="cn.jpush.android.intent.PushService" /> <action android:name="cn.jpush.android.intent.PUSH_TIME" /> </intent-filter> </service> <!-- 极光推送接收器 --> <receiver android:name="cn.jpush.android.service.PushReceiver" android:enabled="true" > <intent-filter android:priority="1000"> <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" /> <category android:name="${applicationId}" /> </intent-filter> <intent-filter> <action android:name="cn.jpush.android.intent.REGISTRATION" /> <category android:name="${applicationId}" /> </intent-filter> <intent-filter> <action android:name="cn.jpush.android.intent.UNREGISTRATION" /> <category android:name="${applicationId}" /> </intent-filter> <intent-filter> <action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" /> <category android:name="${applicationId}" /> <data android:scheme="package" /> </intent-filter> <intent-filter> <action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" /> <category android:name="${applicationId}" /> </intent-filter> <intent-filter> <action android:name="cn.jpush.android.intent.ACTION_RICHPUSH_CALLBACK" /> <category android:name="${applicationId}" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.USER_PRESENT" /> <category android:name="${applicationId}" /> </intent-filter> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> </receiver> <!-- 极光推送唤醒接收器 --> <receiver android:name="cn.jpush.android.service.AlarmReceiver" android:enabled="true" /> ``` 以上是 Android 使用极光推送绑定别名的代码示例及注意事项。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值