React-Native bridge static library for WeChat SDK.
- iOS
- Android
$ npm install react-native-wechat --save
- Link
RCTWeChat
library from yournode_modules/react-native-wechat/ios
folder like its described here. Don't forget to add it to "Build Phases" of project. - Added the following libraries to your "Link Binary With Libraries":
- CoreTelephony.framework
- libsqlite3.0
- libc++
- libz
- Add following lines into
android/settings.gradle
include ':RCTWeChat'
project(':RCTWeChat').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-wechat/android')
- Add following lines into your
android/app/build.gradle
in sectiondependencies
...
dependencies {
...
compile project(':RCTWeChat') // Add this line only.
}
- Add following lines into
MainActivity.java
...
import com.theweflex.react.WeChatPackage; // Add this line before public class MainActivity
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
...
mReactInstanceManager = ReactInstanceManager.builder()
.setApplication(getApplication())
.setBundleAssetName("index.android.bundle")
.setJSMainModuleName("index.android")
.addPackage(new MainReactPackage())
.addPackage(new WeChatPackage()) // Add this line
.setUseDeveloperSupport(BuildConfig.DEBUG)
.setInitialLifecycleState(LifecycleState.RESUMED)
.build();
}
}
- Create a package named 'wxapi' in your application package and a class named 'WXEntryActivity' in it. This is needed to get request and response from wechat.
package your.package.wxapi;
import android.app.Activity;
import android.os.Bundle;
import com.theweflex.react.WeChatModule;
public class WXEntryActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WeChatModule.handleIntent(getIntent());
finish();
}
}
- Add activity declare in your AndroidManifest.xml
<manifest>
...
<application>
...
<!-- 微信Activity -->
<activity
android:name=".wxapi.WXEntryActivity"
android:label="@string/app_name"
android:exported="true"
/>
</application>
</manifest>
- Add these lines to 'proguard-rules.pro':
-keep class com.tencent.mm.sdk.** {
*;
}
- {String}
appid
the appid you get from WeChat dashboard - returns {Promise}
Only available on iOS.
- {String}
appid
the appid you get from WeChat dashboard - {String}
appdesc
the description of your app - returns {Promise}
Check if wechat installed in this app.
- returns {Promise} Contain the result.
Check if wechat support open url.
- returns {Promise} Contain the result.
Get api version of WeChat SDK.
- returns {Promise} Contain the result.
Open WeChat app with an optional callback argument.
- returns {Promise}
Send authentication request.
- {Array|String}
scope
Scopes of auth request. - {String}
state
the state of OAuth2 - returns {Promise} Contain a object returned by WeChat
- code {String} Authorize code
- url {String}
- lang {String}
- country {String}
For more details, visit WeChat SDK Documentation
- Yorkie Liu from WeFlex
- Deng Yun from React-Native-CN
MIT @ WeFlex,Inc