棣栧厛錛岀櫨搴?strong>android鎺ㄩ€侊紝榪欎釜鏃跺€欎細鍑烘潵涓€鍫嗗叧浜庢帹閫佺殑淇℃伅錛?/p>
1銆?a >鏋佸厜鎺ㄩ€?/a>
2銆?a >淇¢附鎺ㄩ€?/a>
3銆?a >铻嶄簯鎺ㄩ€?/a>
4銆?a >浜氶┈閫夾WS鎺ㄩ€?/a>
絳夌瓑
榪欓噷鎴戦€夋嫨浜嗕竴涓▼搴忕尶浠瘮杈冨父鐢ㄧ殑鏋佸厜鎺ㄩ€侊紝濂斤紝鍏堜笂鏁堟灉鍥撅細

宸﹁竟鏄疛ava鍚庣錛岄泦鎴愪簡JPush錛岀畝鍗曞啓浜嗕竴涓猨sp欏甸潰錛屼緵鎴戜滑鎺ㄩ€佽嚜瀹氫箟娑堟伅錛屽彸杈規槸鎴戜滑鐨勫鎴風錛岀敤鏉ユ帴鏀禞Push鐨勬帹閫併€傚鏋滃java鍚庣涓嶇煡閬撶潃鎵嬪啓鐨勫悓瀛﹁鍙傝€冩垜鐨勫彟澶栦笁綃囧崥瀹細
android寮€鍙戞€庝箞灝戠殑浜嗗悗绔紙涓婏級
android寮€鍙戞€庝箞灝戠殑浜嗗悗绔紙涓級
android寮€鍙戞€庝箞灝戠殑浜嗗悗绔紙涓嬶級
濂戒簡錛屾潵鐪嬫垜浠粖澶╃殑demo錛?/p>
1銆侀鍏堝鎴風灝變竴涓櫥褰曠晫闈㈠拰涓€涓欏碉紝鐧誨綍涔嬪悗鍐嶇粰璇ョ敤鎴鋒帹閫?/p>
2銆佹湇鍔$涔熸湁涓€涓晫闈紝鐢ㄦ潵鍙戦€佽嚜瀹氫箟鎺ㄩ€侊紝鑰屼笖鎴戜滑緇欏畠璁懼畾涓€涓瓫閫夋満鍒訛紝榪欎釜絳涢€夋満鍒舵垜浠湪涓嬮潰璁叉暟鎹簱鐨勬椂鍊欏啀璇?/p>
鍏充簬瀹㈡埛绔瀬鍏夋帹閫佺殑闆嗘垚錛屽湪榪欓噷鎴戣鍑犵偣錛?/p>
1銆佺櫥褰曠殑鏃跺€欐垜浠渶瑕佽緗瀬鍏夋帹閫佺殑鍒悕alias鍜屾爣絳総ag錛屼互渚挎垜浠兘鎺ユ敹鍒癑Push鐨勬帹閫侊紝alias鍜?strong>tag鏄瀬鍏夋帹閫侀渶瑕佺殑錛屽埆鍚?strong>alias錛屽畼緗戜笂緇欑殑瑙i噴鏄負瀹夎浜嗗簲鐢ㄧ▼搴忕殑鐢ㄦ埛錛屽彇涓埆鍚嶆潵鏍囪瘑銆備互鍚庣粰璇ョ敤鎴?strong>Push娑堟伅鏃訛紝灝卞彲浠ョ敤姝ゅ埆鍚嶆潵鎸囧畾銆傛瘡涓敤鎴峰彧鑳芥寚瀹氫竴涓埆鍚嶏紱鏍囩tag錛屽畼緗戜笂緇欑殑瑙i噴鏄負瀹夎浜嗗簲鐢ㄧ▼搴忕殑鐢ㄦ埛錛屾墦涓婃爣絳俱€傚叾鐩殑涓昏鏄柟渚垮紑鍙戣€呮牴鎹爣絳撅紝鏉ユ壒閲忎笅鍙?strong>Push娑堟伅銆傚彲涓烘瘡涓敤鎴鋒墦澶氫釜鏍囩銆?/p>btnLogin.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { //1銆佺櫥褰曗€斺€?gt;璇鋒眰鏈嶅姟鍣? //2銆佺櫥褰曟垚鍔熶箣鍚庯紝璁劇疆鏋佸厜鎺ㄩ€? setJPush(); }});PRivate void setJPush(){ String alias; String tags; Set<String> tagSet=new HashSet<>(Arrays.asList(tags)); //緇欐瀬鍏夋帹閫佽緗爣絳懼拰鍒悕 JPushInterface.setAliasAndTags(this, alias, tagSet, tagAliasCallback);}
鐒跺悗灝辨槸涓€涓瀬鍏夋帹閫佽緗埆鍚嶅拰鏍囩鐨勫洖璋冿細
//鏋佸厜鏈嶅姟鍣ㄨ緗埆鍚嶆槸鍚︽垚鍔熺殑鍥炶皟private final TagAliasCallback tagAliasCallback = new TagAliasCallback() { @Override public void gotResult(int code, String alias, Set<String> tagSet) { switch (code) { case 0: Log.i("TAG", "璁劇疆鍒悕鎴愬姛"); break; default: Log.i("TAG", "璁劇疆鍒悕澶辮觸"); break; } }};2銆佸洜涓哄埆鍚嶈姹傚敮涓€鎬э紝鎵€浠ュ埆鍚嶄竴鑸槸浣犳墜鏈虹殑UID錛屽鏋滀綘涓嶆兂鍦ㄤ綘涓嬬嚎涔嬪悗榪樿兘鏀跺埌鎺ㄩ€侊紝閭d箞鍐嶄綘涓嬬嚎鐨勬椂鍊欏皢鍒悕璁劇疆涓虹┖ 鍏充簬鍒悕鐨勶紝璇︽儏璇峰弬鑰?a >鏋佸厜鎺ㄩ€佸埆鍚嶄笌鏍囩API
瀹㈡埛绔殑闆嗘垚錛屽畼緗戣鐨勫緢璇︾粏錛屽湪榪欓噷鎴戝氨涓嶇粏璇翠簡錛岃鎯呰鍙傝€?a >鏋佸厜鎺ㄩ€?Android SDK 姒傝堪
1銆佹暟鎹簱琛ㄧ殑鍒涘緩錛?/p>

鐒跺悗鎴戜滑鏉ョ湅鎺ㄩ€佺殑鏈嶅姟绔紝棣栧厛鏂板緩涓€涓?strong>Servlet錛屼緵鎴戜滑鎺ㄩ€佺敤錛?/p>protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setHeader("Content-Type", "text/html;charset=UTF-8"); request.setCharacterEncoding("UTF-8"); int count = Integer.valueOf(request.getParameter("count")); String message = request.getParameter("message"); MyDBTools myDBTools = new MyDBTools(); ResultSet rs = null; if (count > -1 && !message.isEmpty()) { // 浠庢暟鎹簱涓幏鍙栨墍鏈夌殑縐垎澶т簬count鐨勭敤鎴鳳紝浠庤€岃繘琛屾帹閫佹秷鎭? myDBTools.openConnect(); rs = myDBTools.getUserCountInfo(count); try { while (rs.next()) { // 鑾峰彇榪欎釜鐢ㄦ埛鐨勫埆鍚? String alias = rs.getString("alias"); // 鍛婅瘔鏋佸厜鏈嶅姟鍣紝榪欎釜鐢ㄦ埛闇€瑕佹帹閫? PushUtils.sendPushMessage(alias, "鑷畾涔塉Push閫氱煡", message); } } catch (SQLException e) { e.printStackTrace(); } } myDBTools.closeConnect();}
鐒跺悗鏄垜鍐欑殑涓€涓?strong>PushUtil鐨勪竴涓緟鍔╃被錛屾垜浠厛鏉ョ湅sendPushMessage()榪欎釜鏂規硶錛?/p>/** * 鍙戦€佹帹閫? * @param alias 鍒悕 * @param title 鎺ㄩ€佹爣棰? * @param msg 鎺ㄩ€佹秷鎭? * @return */public static PushResult sendPushMessage(String alias, String title, String msg) { JPushClient jClient = new JPushClient(MASTER_SECRET, APP_KEY); // 鏋勫緩鎺ㄩ€佺殑瀵硅薄 PushPayload pushPayload = buildByAlias(alias, title, msg); try { PushResult pr = jClient.sendPush(pushPayload); System.out.println("PushResult===" + pr); return pr; } catch (APIConnectionException | APIRequestException e) { e.printStackTrace(); } return null;}
娉細涓婅堪鐨?strong>MASTER_SECRET鍜?strong>APP_KEY鏄湪鏋佸厜鎺ㄩ€佸悗鍙頒綘鍒涘緩搴旂敤鐨勬椂鍊欎細鐢熸垚鐨勶紝鎴戜滑榪欓噷鏄牴鎹埆鍚嶆潵鎺ㄩ€佺殑錛屼綘榪樺彲浠ユ牴鎹爣絳炬潵鎺ㄩ€併€?/p>
鐒跺悗鎴戜滑鏉ョ湅buildByAlias()榪欎釜鏂規硶錛?/p>/** * 鏋勫緩鎺ㄩ€佺殑瀵硅薄錛氭墍鏈夊璞? * * @param alias 鎺ㄩ€佺洰鏍囷細鍒悕涓篴lias * @param title 鎺ㄩ€佹爣棰? * @param msg 鎺ㄩ€佸唴瀹? * @return */public static PushPayload buildByAlias(String alias, String title, String msg) { Map<String, String> map = new HashMap<>(); map.put("url", "http://www.baidu.com"); return PushPayload.newBuilder().setPlatform(Platform.all()).setAudience(Audience.alias(alias)) .setNotification(Notification.android(title, msg, map)).build();}
娉細涓婅堪涓殑map闆嗗悎鏄綘鎺ㄩ€佹椂鍊欑殑闄勫睘娑堟伅錛屽儚鎴戣繖涓婇潰鐨勯檮灞炴秷鎭氨鏄紶閫掍竴涓猽rl錛岀瓑浣犺幏鍙栭€氱煡鐨勬椂鍊欏彲浠ヨ幏鍙栧埌榪欎釜url錛岀劧鍚庢墦寮€閫氱煡涔嬪悗鍙互鎵撳紑榪欎釜url
濂戒簡錛屾帹閫佺殑瀹㈡埛绔拰鏈嶅姟绔氨璁插埌榪欓噷浜嗭紝璇︾粏鐨勪唬鐮佹垜宸茬粡浼犲埌GitHub涓婁簡,鐢變簬Eclipse涓婁紶GitHub澶辮觸浜嗭紙涔嬪墠娌℃湁浼犺繃錛屾噦鐨勬湅鍙嬮夯鐑︽暀鏁欐垜錛夛紝鎵€浠ユ湇鍔$鐨勬垜灝辨斁鍒扮櫨搴︿簯涓婁簡
鐐規垜涓嬭澆瀹㈡埛绔?/a>
鐐規垜涓嬭澆鏈嶅姟绔?/a>
新聞熱點
疑難解答