Skip to content

プラグインの導入

shell
yarn add react-native-swarmcloud
shell
npm install --save react-native-swarmcloud

iOS

  • ios/Podfile に追加してください:
ruby
platform :ios, '13.0'

Android

プロジェクトの android/build.gradle の allprojects.repositories にSwarmCloudのリポジトリアドレスを設定します:

allprojects {
    repositories {
        // ... other repositories
        maven {
            url 'https://maven.swarmcloud.net/repository/maven-releases/'
        }
    }
}

TIP

以下の設定はreleaseビルド時に使用します。開発段階では不要です

  • SDKを正常に使用するために、ビルド時に android/app/proguard-rules.pro ファイルに以下のコードを追加してください:
groovy
-dontwarn com.p2pengine.**
-keep class com.p2pengine.**{*;}
-keep interface com.p2pengine.**{*;}
-keep class com.cdnbye.libdc.**{*;}
-keep interface com.cdnbye.libdc.**{*;}
-keep class com.snapchat.djinni.**{*;}
  • android/app/build.gradle に以下のコードを追加してproguard設定を読み込みます
groovy
buildTypes {
  release {
    ...
    ...
    ...
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  }
}

サンプル

tsx
import { useState, useEffect } from 'react';
import { StyleSheet, SafeAreaView } from 'react-native';
import { Header } from 'react-native/Libraries/NewAppScreen';
import Video from 'react-native-video';
import {
  initP2pEngine,
  parseStreamURL,
  TrackerZone,
} from 'react-native-swarmcloud';

export default function App() {
  const [source, setSource] = useState({
    uri: '',
  });

  useEffect(() => {
    initP2pEngine(YOUR_TOKEN, {
      trackerZone: TrackerZone.Europe,           // Set HongKong or USA if you changed zone
    })
      .then(() => {
        const url = parseStreamURL(YOUR_STREAM_URL);
        setSource({ uri: url });
      })
      .catch((e) => console.error(e.toString()));
  }, []);

  return (
    <SafeAreaView>
        <Header />
        <Video
          source={source}
          controls={true}
          style={styles.backgroundVideo}
        />
    </SafeAreaView>
  );
}
const styles = StyleSheet.create({
  backgroundVideo: {
    position: 'absolute',
    top: 0,
    left: 0,
    bottom: 0,
    right: 0,
  },
});

YOUR_TOKEN はユーザーを識別するための文字列です。自分のtokenに置き換えてください。こちらをクリックして Appid の登録方法と token の取得方法を確認してください。

デモ

完全なサンプルコードはこちらを参照してください

粤ICP备18075581号