所以我已经成功设置了Firebase Messaging,推送通知效果很好。但是,当我为手机添加Firebase Auth时,只有沙箱可以使用。以下是我的代码:
-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{
[[FIRAuth auth] setAPNSToken:deviceToken type:FIRAuthAPNSTokenTypeSandbox];
}
使用FIRAuthAPNSTokenTypeSandbox时,[[FIRPhoneAuthProvider provider] verifyPhoneNumber:phoneNumber ...]将起作用。但是,当我使用FIRAuthAPNSTokenTypeProd时,我将收到内部服务器错误。我已在Firebase控制台上上传了开发和生产证书,当用户通过Test Flight下载我的应用时,推送通知效果很好。
我的问题是为什么会这样,我怎么能解决它?我担心如果我继续使用沙箱,一些未来的用户将无法接收短信,但同时,制作不起作用。
我的另一个问题是,我是否可以本地化和自定义我的短信?我将这些代码发送给多个国家/地区的用户。
如果有人知道答案会很棒!提前谢谢!
答案 0 :(得分:2)
回答第一个问题:
- 当我为手机添加Firebase Auth时,只有沙盒可以使用。
醇>请记住,您正在使用的证书类型 分享构建,
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
// If you are using the development certificate you have to use this,
[[FIRAuth auth] setAPNSToken:deviceToken type:FIRAuthAPNSTokenTypeSandbox];
// If you are using distribution certificate you should use this
[[FIRAuth auth] setAPNSToken:deviceToken type:FIRAuthAPNSTokenTypeProd];
// If you want Firebase to automatically detect the type use this.
[[FIRAuth auth] setAPNSToken:deviceToken type:FIRAuthAPNSTokenTypeUnknown];
}
- a)本地化:是的,你可以。
醇>
[[FIRAuth auth] useAppLanguage];
参考:Firebase Phone Number Auth Document
b) Customize my SMS messages : No you can't.
As this may abuse the user experience. Got clarification from Firebase as "Those templates can't be edited, sorry. There is a good deal of concern that this service could be abused and used for spam and other bad practices."