0.1.1 • Published 6 years ago

react-native-ding-talk-share v0.1.1

Weekly downloads
12
License
-
Repository
-
Last release
6 years ago

react-native-ding-talk-share

钉钉分享 react native 版 SDK

安装

npm install react-native-ding-talk-share --save
react-native link react-native-ding-talk-share

package.json 中添加 "dt_app_id": "<your_ding_talk_app_id>",

Android

首先在工程中创建 ddshare 的 package,然后在在该 package 下创建 DDShareActivity,内容如下

import android.app.Activity;
import android.os.Bundle;

import im.shimo.dingtalkshare.DingTalkShareModule;

public class DDShareActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        try {
            DingTalkShareModule.handleIntent(getIntent());
        } catch (Exception e) {
            e.printStackTrace();
        }
        finish();
    }
}

注意 package 名字,和 Activity 名字都不能改,因为钉钉是按名字去查找 Activity 的。

再在 AndroidManifest.xml 中添加如下内容:

<activity
    android:exported="true"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:launchMode="singleInstance"
    android:name=".ddshare.DDShareActivity">
    <intent-filter>
        <action android:name="android.intent.action.VIEW"></action>
        <category android:name="android.intent.category.DEFAULT"></category>
    </intent-filter>
</activity>

iOS

参考官方文档修改 LSApplicationQueriesSchemesURL Types

General > Linked Frameworks and Libraries > 添加 node_modules/react-native-ding-talk-share/ios/DTShareKit.framework

Build Settings > Framework Search Paths > 添加 $(SRCROOT)/../node_modules/react-native-ding-talk-share/ios no recursive

Usage

import DingTalk from 'react-native-ding-talk-share';

// share web page
result = await DingTalk.shareWebPage(link, wechatURIProcess(thumb || icon), title, content);

// share image
result = await DingTalk.shareImage(image);