React-Native如何使用jpush,也就是极光推送 jpushclient插件,给手机发短信

react - 触屏版 - 阿里云
ReactNative工程离线运行的重点是将index.ios.bundle文件保存在机器本地,index.ios.bundle文件是工程编译后的js文件的打包,index.ios.bundle将被packager服务器创建。。纯RN工程纯RN工程在工程创建好后就XCode目录中就包含了main.jsbundle文件,只不过文件是不存在的(XCode文件名红色),这个文件就是编译的时候由packager服务器打包好的index.ios.bundle文件。修改AppDelega
随着移动互联网的兴起,移动端已经成为一款完整产品不可或缺的部分,作为移动端开发的一员,如何高效的开发出一款有体验,易维护的移动端产品,如何轻松的脚踏两条船或者多条船(iOS,android,web),相信对于一名有理想的男人来说,都是一种无法抵抗的诱惑,这里我向大家吐槽一下我一周多的接触感受,抛砖引玉供大家参考。ionic:性能上比预期的要好,app包比较大,毕竟crosswalk不是白加的。环境搭建比较坑项目新建以及安装android平台,build插件都依赖网络下载,网络
单页应用里整个页面只会在第一次完全刷新,后面只会局部刷新(一般不包括head及里面的title),所以无法在服务器端控制title,只能在页面刷新的时候通过js修改title。常规做法如下,可惜在iOS微信浏览器无效。问题原因:因为微信浏览器首次加载页面初始化title后,就再也不监听document.title的change事件。解决方案:修改title之后,给页面加上一个内容为空的iframe,随后立即删除这个iframe,这时候会刷新title。但是如果简单的这样设置,
摘要:本文用于指导开发团队从无到有搭建React的开发环境。文章并不会解释任何react语法规则,只关注如何利用已有的工具搭建一个便于开发和发布的环境。React&&本文记录了本人以及目前团队从无到有使用React的过程,我们将从webpack开始说起,一步一步展现React最基本的开发生态。在这里并不会介绍任何jsx或es6相关的语法,只聚焦于如何使用react生态搭建利于团队协作、有利于提升开发效率的开发环境。脚手架工具——webpack&&
react-native-nativeModulereact-native调用ios/android(Toast)原生模块学习笔记初始化react-native项目JavaReact-native基本类型对照第四步修改react-native代码引入原生模块参考官方文档初始化一个react-native项目初始化项目react-nativeinitandroidToast生成如下目录:运行命令查看项目react-nativerun-android如图:接入Android原生模
KatanaisamodernSwiftframeworkforwritingiOSapps,stronglyinspiredbyReactandRedux,thatgivesstructuretoalltheaspectsofyourapp:logic:theappstateisentirelydescribedbyasingleserializabledatastructure,andtheonlywaytochangethestateistodispatchanacti
&坑爹的坑,终于把极光推送的全套跑通了,android和ios平台全部测试成功!下面就目前遇到的问题做详细的说明,希望能给大家引上正确的道路。此处我用的是jpush-react-native,这个是极光官网维护的,还有一个是react-antive-jpush,这是中文网的,我这里没用这个上一篇讲了如何申请ios的开发和生产证书的流程,http://blog.csdn.net/liu__520/article/details/先按照官网的步骤来呗:(
React-Native是什么React-Native是Facebook在2015年初React.js技术研讨大会上公布的一个开源项目。支持用开源的JavaScript库React.js来开发iOS和Android原生App。初期仅支持iOS平台,同年9月份,该开源项目同时支持Android平台。ReactNative的原理是在JavaScript中用React抽象操作系统原生的UI组件,代替DOM元素来渲染,比如以&View&取代&div&,以&
版权声明:本文由左明原创文章,转载请注明出处:文章原文链接:https://www.qcloud.com/community/article/158来源:腾云阁https://www.qcloud.com/community这个,叫做竹笕,是中日传统禅文化中常见的庭院装饰品,它的构造可简单可复杂,但原理很简单,比如这个竹笕,水从竹笕顶部入口流入内部,并按照固定的顺序从上向下依次流入各个小竹筒,然后驱动水轮转动。对于强迫症患者来说,观赏竹笕的绝对是一种很享受的过程的最爱,你会发
前言学习本系列内容需要具备一定HTML开发基础,没有基础的朋友可以先转至HTML快速入门(一)学习本人接触ReactNative时间并不是特别长,所以对其中的内容和性质了解可能会有所偏差,在学习中如果有错会及时修改内容,也欢迎万能的朋友们批评指出,谢谢文章第一版出自简书,如果出现图片或页面显示问题,烦请转至简书查看也希望喜欢的朋友可以点赞,谢谢ScrollView组件介绍与简单使用ReactNative中的ScrollView的组件除了包装滚动平台,还集成了触摸锁定的响应者系
在ReactNative中使用组件来封装界面模块时,整个界面就是一个大的组件,开发过程就是不断优化和拆分界面组件、构造整个组件树的过程。所以学习理解组件的生命周期显得尤为重要!一、组件的属性(props)和状态(state)1.属性(props)它是组件的不可变属性(组件自己不可以自己修改props)。组件自身定义了一组props作为对外提供的接口,展示一个组件时只需要指定props作为节点的属性。一般组件很少需要对外公开方法(例外:工具类的静态方法等),唯一的交互途径就是p
前言学习本系列内容需要具备一定HTML开发基础,没有基础的朋友可以先转至HTML快速入门(一)学习本人接触ReactNative时间并不是特别长,所以对其中的内容和性质了解可能会有所偏差,在学习中如果有错会及时修改内容,也欢迎万能的朋友们批评指出,谢谢文章第一版出自简书,如果出现图片或页面显示问题,烦请转至简书查看也希望喜欢的朋友可以点赞,谢谢ReactNative组件化介绍ReactNative的核心思想就是组件化,相当于MVC的view,因此开发应用的最佳方式就是将功能组
前言学习本系列内容需要具备一定HTML开发基础,没有基础的朋友可以先转至HTML快速入门(一)学习本人接触ReactNative时间并不是特别长,所以对其中的内容和性质了解可能会有所偏差,在学习中如果有错会及时修改内容,也欢迎万能的朋友们批评指出,谢谢文章第一版出自简书,如果出现图片或页面显示问题,烦请转至简书查看也希望喜欢的朋友可以点赞,谢谢ReactNative组件执行顺序介绍所有的程序都有生命周期,这是开发人员关注的点,比如iOS中有一个ViewDidLoad来初始化,
前言学习本系列内容需要具备一定HTML开发基础,没有基础的朋友可以先转至HTML快速入门(一)学习本人接触ReactNative时间并不是特别长,所以对其中的内容和性质了解可能会有所偏差,在学习中如果有错会及时修改内容,也欢迎万能的朋友们批评指出,谢谢文章第一版出自简书,如果出现图片或页面显示问题,烦请转至简书查看也希望喜欢的朋友可以点赞,谢谢View中的触摸属性与Touchable的对比学完之前的内容后,是不是有个疑问——界面我们是搭建出来了,那为什么不会对用户的点击、触摸
自己在学习React-Native过程中整理的一份学习指南,包含教程、开源app和资源网站等,还在不断更新中。欢迎pullrequests!React-Native学习指南本指南汇集React-Native各类学习资源,给大家提供便利。指南正在不断的更新,大家有好的资源欢迎PullRequests!同时还有AwesomeReact-Native系列https://github.com/jondot/awesome-react-native教程react-native官方api
前言学习本系列内容需要具备一定HTML开发基础,没有基础的朋友可以先转至HTML快速入门(一)学习本人接触ReactNative时间并不是特别长,所以对其中的内容和性质了解可能会有所偏差,在学习中如果有错会及时修改内容,也欢迎万能的朋友们批评指出,谢谢文章第一版出自简书,如果出现图片或页面显示问题,烦请转至简书查看也希望喜欢的朋友可以点赞,谢谢TextInput文本输入框ReactNative中的文本输入框使用和iOS比较相近,可能是因为RN首先封装iOS端的缘故(这点对iO
花了两天时间搞出了navigatorpush到tabbarios的页面,给自己做个小小的笔记。首先在index.ios.js页面中定义app的根视图mportReact,{Component}from'react';import{AppRegistry,StyleSheet,Text,Navigator,View}from'react-native';importfirstfrom'./first';exportdefaultclassTestextendsComponent
React起源于Facebook的内部项目,因为该公司对市场上所有JavaScriptMVC框架,都不满意,就决定自己写一套,用来架设Instagram的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。这个项目本身也越滚越大,从最早的UI引擎变成了一整套前后端通吃的WebApp解决方案。衍生的ReactNative项目,目标更是宏伟,希望用写WebApp的方式去写NativeApp。ReactNative一经推出,就获得众多开发者的关注。ReactNative
项目开源地址:GitHubPopular,GitHubTrending关于GitHubTrendingAPI的困惑GitHubPopular中有个treding模块,该模块是GitHub的treding的手机版,在这个模块中你可以使用只有在PC上才能使用的功能。为了开发这个treding模块我们需要获取GitHub的treding的API数据。不过不幸的的是GitHub并没有开放有关trending的API,所以想调GitHub的treding的API已经是不现实的了。拨开云
我们可以用ReactNative提供的命令:react-nativebundleOptions:**–entry-filePathtotherootJSfile,eitherabsoluteorrelativetoJSroot[required]–platformEither“ios”or“android”–transformerSpecifyacustomtransformertobeused(absolutepath)[default:“/Users/babytree-m
@2017 Ailiyun Allright reserverjpush-react-native 插件的集成与使用 Android 篇 - 简书
jpush-react-native 插件的集成与使用 Android 篇
是极光推送官方开发的 React Native 版本插件,可以快速集成推送功能(Github 项目中包含了 example,文中提到的 demo 来源于此)。现在最新版本的 JPush SDK 分离了 JPush 及 JCore,让开发者可以分开集成 JMessage 及 JPush(以前 JMessage 包含了 JPush)。下面就来具体说一下如何快速集成以及使用 jpush-react-native 插件。
npm install jpush-react-native --save
npm install jcore-react-native --save ## jpush-react-native 1.4.2 版本以后需要同时安装 jcore-react-native
配置包括两个步骤,自动配置和手动操作。
一、自动配置部分(以下命令均在你的 React Native Project 目录下运行,自动配置后仍需手动配置一部分)
npm run configureJPush &yourAppKey& &yourModuleName&
//module name 指的是你 Android 项目中的模块名字(对 iOS 没有影响,不填写的话默认值为 app,会影响到查找 AndroidManifest 问题,
//如果没找到 AndroidManifest,则需要手动修改,参考下面的 AndroidManifest 配置相关说明)
//举个例子:
npm run configureJPush d4eefa51334f5 app
//执行自动配置脚本后再执行 link 操作
react-native link
二、手动操作部分 (3个步骤)
第一步:修改 app 下的 build.gradle 配置:
your react native project/android/app/build.gradle
defaultConfig {
applicationId "yourApplicationId"
manifestPlaceholders = [
JPUSH_APPKEY: "yourAppKey", //在此替换你的APPKey
APP_CHANNEL: "developer-default"
//应用渠道号
dependencies {
compile fileTree(dir: "libs", include: ["*.jar"])
compile project(':jpush-react-native')
// 添加 jpush 依赖
compile project(':jcore-react-native')
// 添加 jcore 依赖
compile "com.facebook.react:react-native:+"
// From node_modules
将此处的 yourApplicationId 替换为你的项目的包名;yourAppKey 替换成你在官网上申请的应用的 AppKey。
第二步:检查是否导入以下配置项:
i. 检查一下 dependencies 中有没有添加 jpush-react-native 及 jcore-react-native 这两个依赖。
your react native project/android/app/build.gradle
dependencies {
compile fileTree(dir: "libs", include: ["*.jar"])
compile project(':jpush-react-native')
// 添加 jpush 依赖
compile project(':jcore-react-native')
// 添加 jcore 依赖
compile "com.facebook.react:react-native:+"
// From node_modules
ii. 检查 android 项目下的 settings.gradle 配置有没有包含以下内容:
settings.gradle
include ':app', ':jpush-react-native', ':jcore-react-native'
project(':jpush-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/jpush-react-native/android')
project(':jcore-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/jcore-react-native/android')
iii. 检查一下 app 下的 AndroidManifest 配置,有没有增加 &meta-data& 部分。
your react native project/android/app/AndroidManifest.xml
&application
&!-- Required . Enable it you can get statistics data with channel --&
&meta-data android:name="JPUSH_CHANNEL" android:value="${APP_CHANNEL}"/&
&meta-data android:name="JPUSH_APPKEY" android:value="${JPUSH_APPKEY}"/&
&/application&
iiii. 现在重新 sync 一下项目(点击 Android Studio sync 按钮),应该能看到 jpush-react-native 以及 jcore-react-native 作为 android Library 项目导进来了。
第三步:加入 JPushPackage (找到 app 下的 MainApplication.java):
app/src.../MainApplication.java
private boolean SHUTDOWN_TOAST =
private boolean SHUTDOWN_LOG =
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
protected boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
protected List&ReactPackage& getPackages() {
return Arrays.&ReactPackage&asList(
new MainReactPackage(),
//加入 JPushPackage
new JPushPackage(SHUTDOWN_TOAST, SHUTDOWN_LOG)
上面 JPushPackage 的两个参数是 bool 类型的,第一个参数设置为 true 表示关闭 toast 提示,第二个设置为 true 表示关闭日志打印,建议在 debug 版本中打开。然后在 MainActivity 中加入一些初始化代码即可:
app/src.../MainActivity.java
public class MainActivity extends ReactActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
JPushInterface.init(this);
protected void onPause() {
super.onPause();
JPushInterface.onPause(this);
protected void onResume() {
super.onResume();
JPushInterface.onResume(this);
这样就完成了所有的配置。接下来就可以在 JS 中调用插件提供的 API 了。
添加了此事件后,在收到推送时将会触发此事件。
需要注意的是,v1.6.6 版本以后,增加了 notifyJSDidLoad 方法,在监听所有相关事件之前要调用此方法,否则不会收到点击通知事件。
example/react-native-android/push_activity.js
import JPushModule from 'jpush-react-native';
export default class PushActivity extends React.Component {
componentDidMount() {
// 在收到点击事件之前调用此接口
JPushModule.notifyJSDidLoad((resultCode) =& {
if (resultCode === 0) {
JPushModule.addReceiveNotificationListener((map) =& {
console.log("alertContent: " + map.alertContent);
console.log("extras: " + map.extras);
// var extra = JSON.parse(map.extras);
// console.log(extra.key + ": " + extra.value);
在用户点击通知后,将会触发此事件。
componentDidMount() {
JPushModule.addReceiveOpenNotificationListener((map) =& {
console.log("Opening notification!");
console.log("map.extra: " + map.key);
点击通知跳转到指定界面
第一种方式 使用 react-navigation
如果使用 react-navigation,直接可以在 JS 中实现跳转,而不必添加 ReactActivity。
安装 react-navigation:
npm install react-navigation --save
在 index.js(或者 index.android.js, rn 0.5.0 后入口改为 index.js)中:
StackNavigator
} from 'react-navigation';
import JPushModule from 'jpush-react-native';
const PushDemoApp = StackNavigator({
screen: PushActivity
Setting: {
screen: SetActivity
screen: SecondActivity
AppRegistry.registerComponent('PushDemoApp', () =& PushDemoApp);
上面定义了三个界面,在点击通知的跳转事件中即可选择跳转到哪个界面(本例中为 Push)。监听点击通知事件:
JPushModule.addReceiveOpenNotificationListener((map) =& {
//console.log("Opening notification!");
//console.log("map.extra: " + map.extras);
// 跳转到 Push 界面
this.props.navigation.navigate("Push");
第二种方式 使用 ReactActivity
需要在 Native 中声明一个 Activity,如 demo 中的 SecondActivity,而 SecondActivity 的界面仍然用 JS 来渲染。只需要改动一下 SecondActivity,让它继承自 ReactActivity 即可:
example/android/app/src.../SecondActivity.java
public class SecondActivity extends ReactActivity {
protected String getMainComponentName() {
return "SecondActivity";
声明完成后,需要在 AndroidManifest 中声明一下(必要的时候可以声明 Activity 的启动模式,以更好地适配自己的需求)。
AndroidManifest.xml
&application&
&activity android:name=".SecondActivity"/&
&/application&
然后使用 SecondActivity 中返回的字符串 “SecondActivity” 注册一个 Component 即可:
example/react-native-android/second.js
import React from 'react';
import ReactNative from 'react-native';
AppRegistry,
} = ReactN
export default class second extends React.Component {
constructor(props) {
super(props);
render() {
&Text& Welcome ! &/Text&
AppRegistry.registerComponent('SecondActivity', () =& second);
最后监听点击通知事件,并完成跳转:
JPushModule.addReceiveOpenNotificationListener((map) =& {
console.log("Opening notification!");
console.log("map.extra: " + map.extras);
JPushModule.jumpToPushActivity("SecondActivity");
这样就完成了用户点击通知后的自定义跳转界面。
接收自定义消息
在用户收到自定义消息后触发。
example/react-native-android/push_activity.js
componentDidMount() {
JPushModule.addReceiveCustomMsgListener((map) =& {
this.setState({
pushMsg: map.message
console.log("extras: " + map.extras);
得到 RegistrationId
用户注册成功后(一般在用户启动应用后),如果订阅了这个事件,将会收到这个 registrationId。
componentDidMount() {
JPushModule.addGetRegistrationIdListener((registrationId) =& {
console.log("Device register succeed, registrationId " + registrationId);
清除所有通知
建议在用户退出前台后调用。
componentWillUnmount() {
console.log("Will clear all notifications");
JPushModule.clearAllNotifications();
example/react-native-android/set_activity.js
setTag() {
if (this.state.tag !== undefined) {
* 请注意这个接口要传一个数组过去,这里只是个简单的示范
JPushModule.setTags(["VIP", "NOTVIP"], () =& {
console.log("Set tag succeed");
}, () =& {
console.log("Set tag failed");
setAlias() {
if (this.state.alias !== undefined) {
JPushModule.setAlias(this.state.alias, () =& {
console.log("Set alias succeed");
}, () =& {
console.log("Set alias failed");
以上就是插件提供的主要接口的示例。总的来说,配置和使用都比较简单,适合开发者快速集成推送功能。
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
前言 当前 React Native 虽说版本更新比较快,各种组件也提供的很全面了,但是在某些情况下,混合开发的方式才会快速缩短开发周期,原因无非就是原生平台的“底蕴”无疑更深,拥有众多且类型丰富的第三方支持库。很多情况下,运用这些库可以避免苦逼的重复劳动。接下来我们以 j...
React Native优秀博客,以及优秀的Github库列表(很多英文资料源自于[awesome-react-native](https://github.com/jondot/awesome-react-native)) 关于开源库类 - Star 100+ ? - S...
作者:snowdream微信:sn0wdr1am原文地址:https://github.com/snowdream/awesome-android awesome-android Introduction android libs from github System re...
文 | 潘俊宏
在网上看到了一段文字,我特别的认同和喜欢。 那段话是这样说的:人不是动物,不是野花野草,天生天养,依靠阳光雨露就能活着,就算野花野草,也为了更多的阳光努力争取长高,人有什么理由,不去努力,不去变得优秀? 其实,人生来就有变优秀,想成功,过好一点生活的愿望。...
灵魂在竭力叫嚣着不可以 却无法叫醒假装沉睡的肉体 因为世上没有比自我麻痹更好的麻醉剂
影视界看似是一回生二回熟,小雀斑埃迪·雷德梅尼(Eddie Redmayne)似乎也是,从惊艳世人的《丹麦女孩》到如今备受麻瓜们喜爱的《神奇动物在哪里》,显然已经登上了大众的神坛。 然而仔细探索一下,不难发现,小雀斑其实早已履历丰富,经验满满,在英国影视界摇篮——戏剧界他很...
无论是在体制内,还是体制外,都有一个流行的观点:人在职场,跟对领导。 有人因此获益,也有人为之付出血淋淋的代价。成也站队,败也站队。 很难笼统的、绝对的讨论站队对与错、是与非。要考虑到短期利益与长期影响;具体环境和个人;价值观等多重因素。 但是可以肯定的是,与其站队,不如定...
最近“1988年生中年妇女”的梗挺火,主要来源于新世纪朝鲜帝国家庭伦理宫斗剧“金正男遇刺记”,N个公号紧跟热点,放了很多1988年生女性专题,乘着三八节日,以此阐明数字不是个问题! 那,你们问过我们这些88年前生“中年妇女”的感受了没?!而80年前“老女人”是不是已气晕在厕...研究最新的技术啊
react native极光推送android和ios证书申请
这两天终于把极光推送的整个流程跑通了,在android和ios上均能正常接收消息,并可在本地存储消息,这篇文章
先讲一下如何在极光上申请android和ios证书,下一篇文章讲解具体在react native上配置运行极光推送。
一、首先打开,然后注册账号,登录进去
二、创建应用
2.1、一看需要应用的名称(你的应用的名字最好和你的RN项目的名字一致),android需要应用的包名(
你的react native 项目/android/app/AndroidManifest.xml),&manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.log"上面红色的就是包名,
2.2、ios就蛋疼了,这是必须要真机测试的节奏啊,没有iphone的同学,还是去搞一个吧,
需要开发证书、开发证书密码、生产证书、生产证书密码,对于我这个没有搞过ios的人来说就懵逼、傻眼了。
网上查了大量的资料,终于搞定了,一大堆坑,坑爹的坑,这算是从0开始的文章了,一步步带你申请ios的证书。
2.2.1、,然后点击 导航栏上的
这是要申请的哦,没有的话就一步步create Apple id,这个周期大概在1个星期吧,有的人搞了1个多星期也没
有申请下来的,申请下来了,界面如下
没有申请好的界面是下面的:
2.2.2、点击Certificates & Profiles
2.2.3、选择创建测试证书
2.2.4、选择并创建
2.2.5、选择测试证书
2.2.6、下一步创建证书
2.2.7、这个时候打开后是下面的界面,这就需要选择certSigningRequest文件:
2.2.8、打开苹果电脑的launchpad,打开其他文件夹下的钥匙串访问:
2.2.9、钥匙串访问---& 证书助理---& 从证书颁发机构请求证书:
2.2.10、填写你申请开发者账号的邮箱,选择存储到磁盘:
2.2.11、回到刚才的选择证书的页面:
选择刚刚创建的证书:
2.2.12、然后点击contiue,下载证书(download)
2.2.13、绑定Identifier
2.2.14、需要写一个别名,这个随便起,只要不用标出来的特殊字符就行了,然后下面的Bundle ID,就是你的项目的
Bundle Identifier,具体找到你的RN项目,然后找到ios下面的
项目名.xcodeproj,双击打开,点击左上角的工程名,然
后点击右边的general,找到Bundle
Identifier,这个就是Bundle ID。
2.2.15、开启推送,打开网页最下面的App
services,点击push notification,点击继续
2.2.16、然后创建开发推送证书:
2.2.17、选择推送开发证书
2.2.18、再次选择钥匙串创建的证书CertificateSigningRequest.certSigningRequest
2.2.19、下载证书,马上要创建p12证书,这个p12就是极光推送要传的文件,艾玛,真心累!然后看到推送的
APP ids已经处于开发状态了,变绿了
2.2.19、双击刚才下载的证书,来生成p12证书,然后输入密码,最后始终允许,
2.2.20、创建生产证书:
2.2.21、重复开发证书的步骤,下一步下一步,最后下载证书,然后制作p12证书,和开发证书的步骤一样的,下面
直接贴图了:
2.2.22、头晕了都,把下载的证书双击,然后一样进入钥匙串下面,点击右键导出,输入密码,下面创建p12文件
2.3、创建绑定设备,用于真机测试的,点击devices
右上角的?,创建,输入你的设备的名字,我的叫 刘成iPhone,
输入UDID,这个在iTunes上可以看到的,然后创建好设备:
2.4、生成Provisioning
Profile配置文件
点击Provisioning
profiles All--&右上角的?,选择 ios app development,选择 app id ,选择证书,选择设备,填写
你的描述文件名,最后下载下来,然后双击文件。
三、上极光官网,注册账号,创建应用,输入应用的名称,android的包名,上传刚才生成的开发证书以p12后缀的文件,
输入创建证书的密码,就是创建完证书最后让你输密码的那个密码,然后上传生产证书和密码,最后创建我的应用
好了到此吧,我这是在是困得不行了,明天再继续写如何在android和ios上进行配置,然后成功
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!}

我要回帖

更多关于 极光推送怎么使用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信