説æïŒ
pushTokenãååŸã§ããŸãããããã·ã¥ããŒãã«iOSãŠãŒã¶ãŒãããŸããããã¹ãŠãè©Šãã蚌ææžãããŒãåäœæããããããžã§ãã³ã°ããŒã«ã䜿çšããããŸããŸãªå®éã®ããã€ã¹ãè©ŠããŸãã
Androidã§ã¯ããã¹ãŠãé åã®ããã«æ©èœããŸãã
ç°å¢
latest 3.2.1
npm i --save react-native-onesignal
Version 9.3 (9E145)
ç§ã®package.json
åé¡ãåçŸããæé ïŒ
jsã³ãŒã
export default class App extends Component {
componentWillMount() {
OneSignal.setLogLevel(7, 0);
OneSignal.init('here my ONESIGNAL APP ID - I checked it twenty times', { kOSSettingsKeyAutoPrompt: true });
OneSignal.setSubscription(true);
OneSignal.enableSound(true);
OneSignal.enableVibrate(true);
OneSignal.inFocusDisplaying(2);
OneSignal.getPermissionSubscriptionState((response) => {
console.log('Received permission subscription state: ', response);
});
}
getPermissionSubscriptionState
ããå¿çããããŸããïŒ
{
emailAddress:null
emailSubscribed:false
emailUserId:null
hasPrompted:true
notificationsEnabled:true
pushToken:null
subscriptionEnabled:false
userId:null
userSubscriptionEnabled:true
}
ãã¡ãããããã·ã¥ããŒãã«ã¯iOSãŠãŒã¶ãŒã¯èª°ãããŸããã
ããã«ãxcodeã«ãã°ã衚瀺ãããŸã
Called init with app ID: (null)
2018-05-14 11:21:03.636571+0300 rbtse[15320:6135130] Called init with app ID: xxxxxx-ea78-4b29-8b91-xxxxxxxxx (I changed app id)
2018-05-14 11:21:03.636758+0300 rbtse[15320:6135130] DEBUG: Downloading iOS parameters for this application
2018-05-14 11:21:03.642023+0300 rbtse[15320:6135181] VERBOSE: getNotificationTypes:mSubscriptionStatus: -1
2018-05-14 11:21:03.643531+0300 rbtse[15320:6135130] VERBOSE: registerForPushNotifications Called:waitingForApnsResponse: 1
2018-05-14 11:21:03.690752+0300 rbtse[15320:6135130] VERBOSE: oneSignalApplicationWillResignActive
2018-05-14 11:21:03.986984+0300 rbtse[15320:6135181] VERBOSE: network response (OSRequestGetIosParams): {
fba = 1;
}
2018-05-14 11:21:05.778574+0300 rbtse[15320:6135130] VERBOSE: oneSignalApplicationDidBecomeActive
2018-05-14 11:21:05.778918+0300 rbtse[15320:6135130] VERBOSE: getNotificationTypes:mSubscriptionStatus: -1
2018-05-14 11:21:05.792324+0300 rbtse[15320:6135130] VERBOSE: updateNotificationTypes called: 15
2018-05-14 11:21:05.792388+0300 rbtse[15320:6135130] VERBOSE: startedRegister: 1
åãåé¡ãèŠã€ãããŸããhttps://github.com/geektimecoil/react-native-onesignal/issues/502
ã ããç§ã¯https://github.com/geektimecoil/react-native-onesignal/tree/3.1.4ã«ããŠã³ã°ã¬ãŒãããããšããã ããããããŠä»ããã¯æ©èœããŸãïŒ
ãã®ãããæåŸã®ããŒãžã§ã³ã¯æ©èœããŠããŸãã
ããã«ã¡ã¯ãreact-native-onesignalïŒ3.2.2ïŒã®ææ°ããŒãžã§ã³ãã€ã³ã¹ããŒã«ããŠreact-native link react-native-onesignal
ãå®è¡ãããšãXcodeãããžã§ã¯ããéããŠãRCTOneSignalããã®ããã«ãããžã§ã¯ãã®äŸåé¢ä¿ãšããŠæ£ãã衚瀺ãããããšã確èªã§ããŸããïŒ
pushToken
ãšuserId
ã¯ãå®éã®ããã€ã¹ã§ãnullã§ãïŒãªãªãŒã¹ã¢ãŒãã®å ŽåïŒ
[email protected]:
version "3.2.2"
resolved "https://registry.yarnpkg.com/react-native-onesignal/-/react-native-onesignal-3.2.2.tgz#d1ae1e95cc301b940120de29a29ae90f478c9a97"
dependencies:
invariant "^2.2.2"
ïŒä»åã¯ç§ã®ããããã¡ã€ã«ã«ã¯ãããŸããïŒ
@ Jarred-Sumnerããã€ã¹ããã¢ããªãã¢ã³ã€ã³ã¹ããŒã«ããŠããåã€ã³ã¹ããŒã«ããŠã¿ãŠãã ãããããã·ã¥éç¥ã®ã¢ã¯ã»ã¹èš±å¯ãåãå ¥ããããã«æ±ããããŸããïŒ
ãŸãã確èªããããã«ã[ãããžã§ã¯ãèšå®]> [æ©èœ]ã§ããã·ã¥éç¥æ©èœãæå¹ã«ããŸãããïŒ
@ Jarred-Sumnerããã€ã¹ããã¢ããªãã¢ã³ã€ã³ã¹ããŒã«ããŠããåã€ã³ã¹ããŒã«ããŠã¿ãŠãã ãããããã·ã¥éç¥ã®ã¢ã¯ã»ã¹èš±å¯ãåãå ¥ããããã«æ±ããããŸããïŒ
ã¯ã
ãŸãã確èªããããã«ã[ãããžã§ã¯ãèšå®]> [æ©èœ]ã§ããã·ã¥éç¥æ©èœãæå¹ã«ããŸãããïŒ
ã¯ã
v3.1.4
ã«ããŠã³ã°ã¬ãŒããããšã pushToken
ãšuserId
éä¿¡ãããŸãã
@ Jarred-Sumnerãã®åé¡ãããå°ãããç解ããããã«ãIDã¯nullã§ãããããã·ã¥éç¥ã¯å®éã«æ©èœããŸããïŒ åœŒãã¯ãã¹ãã§ã¯ãããŸããããç§ã¯å確èªãããã£ãã®ã§ãã
ãŸããinitãåŒã³åºãåã«ã3.2.2ã«æŽæ°ããJSã§åæåãã OneSignal.setLogLevel(6, 0)
ãåŒã³åºãããšã¯ã§ããŸããïŒ ã³ã³ãœãŒã«ã«ãšã©ãŒãåºåãããå Žåã¯æããŠãã ããã
åé¡ã¯3.2.2ã§ã解決ããŸããã
ãã°ã¬ãã«ãèšå®ãããšã次ã®åºåãåºåãããŸã
ã¢ããªIDã§initãšåŒã°ããïŒïŒnullïŒ
ïŒãã®åŸããã°ã®ã©ããã§ïŒ
ã¢ããªIDã§initãšåŒã°ããïŒïŒmy-app-idïŒ
ãã ããuserIdã¯ãŸã nullã§ãã ããã圹ç«ã€å Žåã¯ãCocoaPodsã䜿çšããŠã©ã€ãã©ãªãå«ããŸãã
@hhunaidã¯ãã¢ããªIDãæåã«nullã«ãªãããšãäºæ³ãããŸãïŒæ··ä¹±ãé¿ããããã«ãããããæåã®ãã°ã¹ããŒãã¡ã³ããåé€ããå¿ èŠããããŸãïŒã
ãŸãããŠãŒã¶ãŒãå®éã®iOSããã€ã¹ã§ããã·ã¥èš±å¯ãåãå ¥ãããŸã§ããŠãŒã¶ãŒIDã¯nullã«ãªããšäºæ³ãããŸãã ãããäºå®ã§ããããšã確èªã§ããŸããïŒ ãããããªãããã®ãã°ã¬ãã«ã§Xcodeããã®å°ãªããšã15ç§ã®ãã°åºåãžã®ãªã³ã¯ãæçš¿ã§ããŸããïŒinitãåŒã³åºãåã«å¿ ãsetLogLevelãåŒã³åºããŠãã ããïŒ
@ Nightsd01ããã¯LOGã¹ããŒãã¡ã³ãã ãã§ã¯ãããŸããã å®éã«ã¯ãnullappIdã䜿çšããŠOneSignalã€ãã·ã£ã©ã€ã¶ãŒãåŒã³åºãããŸãã initOneSignal
ã¡ãœããã§ãã®initè¡ãåé€ãããšããã¹ãŠãæ©èœããããšã確èªããŸããã
@hhunaidã¯ãã
è¡ã£ãå¯èœæ§ã®ããä»ã®å€æŽãé€å€ããããã«ãinitOneSignalã®ã³ã¡ã³ããå床解é€ããŠãæ©èœãåæ¢ããããšã確èªã§ããŸããïŒ
package.json
ãæçš¿ããŠã䜿çšããŠããäŸåé¢ä¿ã確èªã§ããŸããïŒ
ç§ã¯äžèšã®ã³ãŒãã®æç¡ã«ããããããªã³ãšãªããè©ŠããŸããããä»ã§ã¯ãããåå ã§ãããšèªä¿¡ãæã£ãŠèšããŸãã å°ãªããšãç§ã®ã¢ããªã§ã¯ã
ãããåé€ãããšãæå¹ãªplayerIdãåŸãããããã€ã¹ãOneSignalããã·ã¥ããŒãã«è¡šç€ºãããŸãã ããã¯ä»¥åã¯èµ·ãã£ãŠããŸããã§ããã
ãã£ã¡ãäžç·ã PushTokenã¯åžžã«nullã§ãã 以äžã®ã¹ã¯ãªãŒã³ã·ã§ããã貌ãä»ããŸãã
ç§ã®package.jsonã¯ä»¥äžã®éãã§ãã
"abortcontroller-polyfill": "^1.1.9",
"immutability-helper": "^2.7.0",
"mobx": "^4.2.1",
"mobx-react": "^5.1.2",
"moment": "^2.22.1",
"react": "^16.3.2",
"react-native": "^0.55.4",
"react-native-amplitude-analytics": "^0.1.15",
"react-native-animatable": "^1.2.4",
"react-native-audio-recorder-player": "^1.0.15",
"react-native-iap": "^1.0.1",
"react-native-image-picker": "^0.26.10",
"react-native-linear-gradient": "^2.4.0",
"react-native-loading-spinner-overlay": "^0.5.2",
"react-native-localization": "^1.0.7",
"react-native-marquee": "^0.3.1",
"react-native-modalbox": "^1.4.2",
"react-native-onesignal": "^3.2.2",
"react-native-permissions": "^1.1.1",
"react-native-pinch-zoom-view": "^0.1.6",
"react-native-sentry": "^0.36.0",
"react-native-status-bar-height": "^2.0.0",
"react-native-swiper": "^1.5.13",
"react-navigation": "^2.0.1",
"serializr": "^1.2.0"
@dooboolab JSåæåã䜿çšããŠããŸãããïŒ
ãããžã§ã¯ãã®ã©ãã§OneSignal.init()
ãšåŒãã§ããã®ãæããŠããã ããŸããïŒ
ç§ã®äººçã®éãç§ã¯ãã®åé¡ãåçŸããããšã¯ã§ããŸããã 誰ãããã®åé¡ããã¢ãããžã§ã¯ãã§åçŸããŠæçš¿ã§ããã°ããã®åé¡ã_ã¯ããã«_æ©ãä¿®æ£ã§ããã§ãããã
@tavriaforeverããã«ã¡ã¯ãããŠã³ã°ã¬ãŒãããŠonesignal.initïŒ 'app id'ïŒãåŒã³åºããŸããïŒ
ããã§åãåé¡ã解決çã¯ãããŸããïŒ
"react": "16.3.1",
"react-native": "0.55.3",
"react-native-onesignal": "^3.2.0",
@ Nightsd01
RootStackNavigatorãã©ããããã«ãŒãindex.tsx
åŒã³åºããŠããŸãã
class App extends React.Component {
public componentDidMount() {
OneSignal.init('****');
OneSignal.addEventListener('received', this.onReceived);
OneSignal.addEventListener('opened', this.onOpened);
OneSignal.addEventListener('ids', this.onIds);
OneSignal.enableVibrate(true);
OneSignal.enableSound(true);
.....
public render() {
return (
<Provider
store={ appStore }
user={ userStore }
player={ playerStore }
>
<View style={styles.container}>
<RootStackNavigator />
</View>
</Provider>
);
ãŸã nullããŒã¯ã³ã®ååŸã«èŠããã§ããŸãã
@ Nightsd01ãããåãã§ãã
RCTOneSignal.mã§
@ Nightsd01 androidã§è©ŠããŠã¿ãŸããããandroidã§ãåãåé¡ãçºçããŸãã
JSåŽã®åæåã¯ããã»ã©çŽ æŽãããã¢ã€ãã¢ã§ã¯ãªãã£ããšæããŸãã
Webéçºè
ããã€ãã£ãã®ããã¯ã°ã©ãŠã³ããæããªã人ãã©ã€ãã©ãªãç°¡åã«äœ¿çšã§ããããã«ãªãããšã¯ç解ããŠããŸãã
@hhunaidã¯ããŠã³ã°ã¬ãŒãããå¿ èŠãããããã«èãããŸããïŒ
@dooboolab @ 408devã¯ãããã®åé¡ãçºçããå Žåã¯ããã®åé¡ã解決ãããŸã§ãåœé¢ã¯3.1.4ã«ããŠã³ã°ã¬ãŒãããããšããå§ãããŸãã è¬çœªã JS initã¯3.1.4ã§ãµããŒããããŠããªãã£ããããã¬ã€ãã«åŸã£ãŠãã€ãã£ãåæåã³ãŒãããããžã§ã¯ãã«è¿œå ããããšããå§ãããŸãã
@hhunaidããã¯ç¢ºãã«åå¿
ã¢ããããŒããšããŠããã®åé¡ãåçŸããåå ãç¹å®ããŸããããŸããªã解決ããããã®ã¢ããããŒããå ¬éããäºå®ã§ãã
ã¿ãªãããããã«ã¡ã¯ããã®åé¡ã¯æ°ããPRïŒïŒ512ïŒã§è§£æ±ºãããŸããã ãããããŒãžãããæ°ããã¢ããããŒãã1ã2æé以å ã«ãªãªãŒã¹ãããäºå®ã§ãã ãåŸ ã¡é ããŸããŠãããããšãããããŸãïŒ
ã¿ãªãããããã«ã¡ã¯@dooboolab @hhunaid @ 408dev @ el-lsan @ neo125874 @ Jarred-Sumner
æ°ããã¢ããããŒãïŒ3.2.3ïŒããªãªãŒã¹ããããã®åé¡ãä¿®æ£ãããã¯ãã§ãã ãã®åé¡ïŒãŸãã¯ãã®ä»ã®åé¡ïŒãå床çºçããå Žåã¯ããæ°è»œã«ãç¥ãããã ããã調æ»ãããŠããã ããŸãã
@ Nightsd01
䜿ã£ãŠããŸã
"react": "16.3.1",
"react-native": "0.55.3",
"react-native-onesignal": "^3.2.3",
å®éã®ããã€ã¹ã§ã¯ããã¹ãŠãæåŸ
ã©ããã«æ£åžžã«æ©èœããŸããã simulators
ã§null userId
ã©ã³ãã ã«åä¿¡ãããã¬ãŒã€ãŒãªã¹ãã«ããã€ã¹ãè¿œå ãããŠããŸããã ïŒãããŸã§ã®ãšããã50å以äžãã¹ãããŸãããã2åããæ©èœããŸããã§ããïŒïŒ
rm -rf node_modules/ && yarn cache clean && yarn install && yarn start -- --reset-cache
ãšåæ§ã«ã¢ããªã®ã¯ãªãŒãã³ã°ãšåæ§ç¯ãè©Šã¿ãŸããããããã§ãOneSignal.getPermissionSubscriptionState
ããæåŸ
ãããã¹ããŒã¿ã¹ãååŸã§ããŸãã
{ userSubscriptionEnabled: true,
subscriptionEnabled: false,
pushToken: null,
emailAddress: null,
userId: null,
hasPrompted: true,
notificationsEnabled: true,
emailUserId: null,
emailSubscribed: false }
æåŸ ããã@ el-lsanã ããã¯Appleã®å¶éã§ãããç§ãã¡ã®å¶éã§ã¯ãããŸããã iOSã·ãã¥ã¬ãŒã¿ãŒã¯ããã·ã¥éç¥ãåä¿¡ã§ããŸããã APNSããã·ã¥ããŒã¯ã³ãååŸãããOneSignalã«ç»é²ãããŸããã
ããã·ã¥éç¥ããã¹ãããå Žåã¯ãOneSignalã䜿çšãããã©ããã«é¢ä¿ãªããå®éã®iOSããã€ã¹ã§ãã¹ãããå¿ èŠããããŸãã
@ Nightsd01
ç³ãèš³ãããŸããããç§ã®æåŸã®æçš¿ã¯ããã»ã©æ確ã§ã¯ãããŸããã§ããã ã·ãã¥ã¬ãŒã¿ãŒã®ããã·ã¥ãåãåãããšãæå³ããã®ã§ã¯ãªããã·ãã¥ã¬ãŒã¿ãŒããã€ã¹ããªã¹ãããããšãæå³ããŸããã
ãããã£ãŠã OneSignal.init('ONESIGNAL_APP_ID');
åŸã次ã®ã¹ã¯ãªãŒã³ã·ã§ããã«ç€ºãããã«ãã·ãã¥ã¬ãŒã·ã§ã³ããã€ã¹ãIos Simulator Unsupported
ã©ãã«ã§ãµãã¹ã¯ã©ã€ãããããŠãŒã¶ãŒã«ãªã¹ããããããšãæåŸ
ããŠããŸãã
ãªã¹ããããã·ãã¥ã¬ãŒã¿ãŒã«å¯ŸããOneSignal.getPermissionSubscriptionStateã®å¿çã¯æ¬¡ã®ãšããã§ãã
ããããã»ãšãã©ã®å Žåãåæåã¯ã·ãã¥ã¬ãŒã¿ãŒã§å€±æãã https://onesignal.com/apps/ONESIGNAL_APP_ID/players
äžã«è¡šç€ºãããŸããã
@ el-lsanåãåé¡ããããŸãããã·ã¥ããŒã¯ã³ãnullã§ãã解決çãèŠã€ããŸãããïŒ
@adirzoari "react-native-onesignal": "^3.2.3"
ã«æŽæ°ããåŸããã®åé¡ã¯å®éã®ããã€ã¹ã§ä¿®æ£ãããŸãããã·ãã¥ã¬ãŒã¿ãŒã®nullããŒã¯ã³ãåãåãããšãæå³ããå Žåã¯ããããæ³å®ãããŠããæ¹æ³ã ãšæããŸãã
äžæ¹ãã·ãã¥ã¬ãŒã¿ãŒã«ã¯userId
ãèšå®ãããããšãæåŸ
ããŠããŸãããå¥åŠãªçç±ã§ã»ãšãã©ã®å Žå倱æããnullãè¿ããŸãã
å®éã®ããã€ã¹ã䜿çšããŠããŠãnullããŒã¯ã³ãååŸããŸã
@adirzoariããã¯å€ã ïŒ ãã£ãã·ã¥rm -rf node_modules/ && yarn cache clean && yarn install && yarn start -- --reset-cache
ãã¯ãªã¢ããŠãæé ãå確èªããŠãã ãã
@ el-lsan pushTokenã¯nullã§ãããuserIdã«ã¯äžæã®æååããããŸãã 1ã€ã®ä¿¡å·ã§ç§ã¯åŸã
GooglePlayãµãŒãã¹ã©ã€ãã©ãªãšã©ãŒ
3.2.7ïŒã·ãã¥ã¬ãŒã¿ãŒ-OK /å®éã®ããã€ã¹-NOKïŒã§ãåãåé¡ãçºçããŸãããã@ el-lsanã«ãã£ãŠææ¡ããããã£ãã·ã¥ã®ã¯ãªãŒãã³ã°ã«ãããåé¡ãªãå®è¡ãããŸããã
@ Nightsd01ãããåãã§ãã
RCTOneSignal.mã§
ããã«ã¡ã¯ã次ã®å€æŽã®ç»åãè¿œå ããŠãã ããã
@adirzoari
"react-native-onesignal": "^3.2.3"
ã«æŽæ°ããåŸããã®åé¡ã¯å®éã®ããã€ã¹ã§ä¿®æ£ãããŸãããã·ãã¥ã¬ãŒã¿ãŒã®nullããŒã¯ã³ãåãåãããšãæå³ããå Žåã¯ããããæ³å®ãããŠããæ¹æ³ã ãšæããŸããäžæ¹ãã·ãã¥ã¬ãŒã¿ãŒã«ã¯
userId
ãèšå®ãããããšãæåŸ ããŠããŸãããå¥åŠãªçç±ã§ã»ãšãã©ã®å Žå倱æããnullãè¿ããŸãã
ããã«ã¡ã¯ç§ã¯ã·ãã¥ã¬ãŒã¿ãŒã§pushTokenïŒnullãååŸããã·ãã¥ã¬ãŒã¿ãŒã®userIdã®ã¿ãååŸããŠããŸãã
å®éã®ããã€ã¹ã®pushTokenãååŸã§ããŸããïŒç¢ºèªããŠãã ããïŒã·ãã¥ã¬ãŒã¿ãŒã§ã®pushToken nullã®åé¡ã«ã€ããŠå¿é
ããå¿
èŠããããã©ããïŒã
æãåèã«ãªãã³ã¡ã³ã
ã¿ãªãããããã«ã¡ã¯@dooboolab @hhunaid @ 408dev @ el-lsan @ neo125874 @ Jarred-Sumner
æ°ããã¢ããããŒãïŒ3.2.3ïŒããªãªãŒã¹ããããã®åé¡ãä¿®æ£ãããã¯ãã§ãã ãã®åé¡ïŒãŸãã¯ãã®ä»ã®åé¡ïŒãå床çºçããå Žåã¯ããæ°è»œã«ãç¥ãããã ããã調æ»ãããŠããã ããŸãã