React Native OneSignal 使用教程
ReactNativeOne项目地址:https://gitcode.com/gh_mirrors/rea/ReactNativeOne
本教程将指导您了解并开始使用 lipeiwei-szu/ReactNativeOne
项目,它是一个集成 OneSignal 推送通知服务的 React Native 库。由于原始链接指向了错误的仓库(可能已移除或更改),我们将基于常见的 React Native 项目结构和 OneSignal 的通用集成方式进行说明。
1. 项目目录结构及介绍
在典型的 React Native 项目中,目录结构一般如下:
├── app
│ ├── components # UI 组件
│ ├── screens # 页面组件
│ ├── services # 服务类,包括 OneSignal 集成
│ └── ...
├── assets # 资源文件,如图片
├── index.js # 应用入口文件
├── App.js # 根组件,应用的主要起点
├── package.json # 项目依赖和配置
└── ...
app
: 包含应用的主要代码。components
: 存放可重用的UI组件。screens
: 每个页面或视图作为一个单独的组件。services
: 可能会有一个名为OneSignalService.js
的文件,用于处理 OneSignal 相关设置和逻辑。index.js
: 应用的入口文件,通常导入App.js
并启动React Native应用。package.json
: 定义项目依赖和脚本。
2. 项目的启动文件介绍
App.js
这个文件是应用的根组件,通常负责加载整个应用程序的UI。对于 OneSignal 的集成,可能会在 App.js
或 OneSignalService.js
中进行初始化。示例:
import React from 'react';
import { SafeAreaView, StyleSheet, Text, TouchableOpacity } from 'react-native';
import OneSignal from 'react-native-onesignal';
// 初始化 OneSignal
OneSignal.setLogLevel(OneSignal.LOG_LEVEL.DEBUG, OneSignal.LOG_LEVEL.DEBUG);
OneSignal.init('YOUR_ONESIGNAL_APP_ID', {
kOSSettingsKeyInboxEnabled: false,
});
export default function App() {
// 其他应用代码...
}
请注意替换 'YOUR_ONESIGNAL_APP_ID'
为你的 OneSignal 应用ID。
3. 项目的配置文件介绍
iOS 配置
在 ios
文件夹内,你需要编辑两个主要的文件来配置 OneSignal:
Info.plist
: 添加 OneSignal 的所需权限和键值,例如通知服务的相关设置。AppDelegate.m
: 在这里初始化 OneSignal SDK 和处理通知相关事件。
Info.plist
添加以下键值对:
<key>NSLocationAlwaysUsageDescription</key>
<string>我们需要您的位置信息以提供更好的服务。</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>我们需要您的位置信息以提供更好的服务。</string>
<key>ONESIGNAL_APP_ID</key>
<string>YOUR_ONESIGNAL_APP_ID</string>
AppDelegate.m
在 didFinishLaunchingWithOptions
方法中,加入 OneSignal 初始化代码:
#import <OneSignal/OneSignal.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// ...其他初始化代码...
[[OneSignal init:@"YOUR_ONESIGNAL_APP_ID"] handleNotificationActionReceived:^(UNNotificationAction * _Nonnull action) {
// 处理收到的通知动作
}];
return YES;
}
Android 配置
在 android/app/src/main
文件夹下,你需要编辑以下文件:
AndroidManifest.xml
: 添加权限声明和接收器。build.gradle
: 更新 OneSignal 的依赖库。
AndroidManifest.xml
添加以下权限和接收器:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<receiver android:name="com.onesignal.GCMIntentReceiver" />
<service android:name="com.onesignal.OSServiceWorker" />
<meta-data android:name="com.onesignal.NotificationOpened.DEFAULT"
android:value="handleNotificationOpened" />
build.gradle
(app)
在 dependencies 部分添加 OneSignal 的依赖:
dependencies {
// ...其他依赖...
implementation 'com.onesignal:OneSignal:[3.15.0, 3.99.99]'
}
然后同步 Gradle 项目并构建应用。
以上就是关于 lipeiwei-szu/ReactNativeOne
项目的基本介绍、启动文件解析以及配置文件的关键部分。如果项目结构与上述描述有所不同,请参考项目实际的文件结构进行调整。在集成过程中遇到问题,可以查阅 OneSignal 的官方文档以获取更多帮助。
ReactNativeOne项目地址:https://gitcode.com/gh_mirrors/rea/ReactNativeOne