Identify a single user in Apple's APN - push-notification

I am looking through all docs about Apple's APN, but I guess I am not getting a simple question that I need answered quickly. If I am setting up a Push Notification provider to interface with APNs, and I just want to send a message to John Doe, how do I get his Apple Device Id or token to send just to him? Does my provider server application have to keep track of tokens and user names as my iPhone app is installed on different devices? Or is there a method or API for providers to query Apple to get this Device ID or token so that the message only goes to John? And if so, what do I use to ask Apple, does Apple know about "John Doe" as a user of my app?
I realize these answers are in the docs somewhere, but I need this specific questions answered quickly, so any help would be appreciated. Thanks in advance for any help you can provide.
Brian

Does my provider server application have to keep track of tokens and user names as my iPhone app is installed on different devices.
Yes, it's your responsibility to receive the device token from each device where your app is installed, and to associate this data with whatever user information your app collects.

Related

App rejected on 4.2 Design: Minimum Functionality with Flutter app

I complete my app and publish it to google play
but when published to the app store. I facing this message from apple.
App rejected on 4.2 Design: Minimum Functionality
and I afraid apple rejected my app because it made by Flutter, not Xcode.
note: My app includes GPS, notification, Facebook login, Facebook like, send message
It's a good idea to read the App Store Review Guidelines before send an App to the App Store, but as a developers sometimes we forgot it. What I can suggest you, because once I have a similar rejected case but in other field, is to check each term in the section 4.2 Minimum Functionality in the guidelines. Another thing is that you can send an email, requesting more information about the rejection, but that you have made your app with Flutter, absolutely is not the problem.
As Luis Miguel Mantilla mentioned, you could start by checking out the guidelines — App Store Review Guidelines: 4.2 Minimum Functionality — pointed out be the person who rejected you.
Rejection of an app is extremely common with Apple, because the are very strict, bureaucratic and inflexible, in an attempt of trying to maintain a high quality app store. Even with big apps, it's very common for people to face many rejections before managing to get a build in.
Their strictness also causes their reviewers to either be imobile or seem dumb. For example, in a first app I tried to build, I had implemented a basic login initial screen; and, because they have guidelines for the reviewers about the login, the reviewer simply didn't do anything and rejected my app — I think I had to necessarily provide test users —, even though he could have simple created a dummy test user by himself — I had informed so in the build description.
Another way of solving your rejection problem is by contacting your reviewer directly. When your build is rejected, you will receive an email like this:
Dear <your_name>,
Your app, <app_name_and_build>, has been reviewed, but cannot be made
available for TestFlight beta testing.
For details, or to contact App Store Review, visit Resolution
Center in App Store Connect.
Best regards, App Store Review
By clicking on the Resolution Center link, you will be able to talk to the person and poke out what's really going on, instead of having to suffer from anxiety by endlessly speculating over it.
Lastly, this article was somewhat useful when I was first rejected.
Our app was finally released by Apple after several attemps. Here is what we changed to get the app accepted:
We added an exact description of the app functionality in English.
We wrote a text addressing the review team to explain how the users can benefit from the app and what is the intention of the company publishing the app.
We made a screenshot showing the Apple maps integration of the app.
I hope this can help you to get your app accepted.

Can Firebase Phone Authentication be used simply for device-ownership verification?

I'm using Firebase in a react-native project, and I want to incorporate an SMS one-time-pin while in the registration process. I don't want to use Phone Number Authentication for login purposes. Is this possible and how can it be done if so? If not, what are recommended options for an SMS OTP service?
Edit: phone number ownership verification
Firebase Authentication only validates that the end user owns the phone number that they entered. It says nothing about the device they used to sign up. They could easily remove the SIM card, sell the original device, put the SIM card in another device, and sign in again with no trouble.
Recommendations for offsite resources, including services and products, is off-topic for Stack Overflow, so you should do a web search or ask in another forum in order to find alternatives.

I want to know how the botbuilder listen,and where it listen?

We have created Robot on hipchat and yammer with hubot, and they worked very well.
Recently, our team want to create a bot using hubot on Microsoft Teams, but met some problems.
I read the guide document and find that we should first allow external apps in Microsoft Teams .We should ask our Microsoft Admin team to help to open this on. Now, we are review this with our security team about this.
There is something I want to get from you:
1.I find if I want to active the hubot, I should first set an endpoint, what is this used for? Why should we set this?
When we enterprise hubot with hipchat and yammer, we just need an account, set the user name and password, tell hubot the group
Name we want hubot join, and it worked like a normal user.
2.I found “#robot.router.post #endpoint, #connector.listen()” in the code,
So, how the botbuilder listen,and where it listen?
3.Are messages all transport by http? Is it safe enough?
I just went through setting up our Hubot in teams as we will be moving from Hipchat and thought I could answer some of these questions.
The endpoint is used to send messages to your bot since it does not join as a user like Hipchat. When run with the botframework adapter /api/messages is used for communicating with your bot by Microsoft.
I'm not certain where in the code it listens but you have to # mention the bot in order for the app in teams to send the message to the bot's endpoint
The endpoint has to be HTTPS, meaning you have to proxy Hubot. The endpoint also has to be publicly available, or at least available to the Microsoft IP range. However, I found there is authentication that happens:
while anyone can technically post to your api/messages endpoint, the message coming in has a JWT token signed by AAD to verify that it came from a proper source. The botbuilder SDK (package that this adapter relies on) does this check for every message. Every response is also authorized with a JWT token that your bot retrieves from AAD for us to verify as well.
Reference:
https://github.com/Microsoft/BotFramework-Hubot/issues/25#issuecomment-402223551

What service to use to send text message to user's phone?

Is anybody sending out text messages to user's phones with AppMaker? If so, would you mind posting your preferred solution that has been tried and works with AppMaker/Google Cloud?
Thanks!
Neither App Maker or App Script or Cloud Platform provide SMS services as first party.
So, you can to make market research, choose service that suits your needs best and then if you have any hurdles making it friends with App Maker come back here and ask more specific question, for instance how to authenticate 3rd party service.

jabber server returned data

I am developing a chat application using flex, which can use different service providers users like gmail,yahoomail,ami etc. Almost similar like meebo.com.
I am using jabber server..
My question is what kind of information jabber returns.
I am getting userid,password,status,status message but I am not getting address or phone number of the user or picture of the user..
Please let me know,how can I take these values and what should I pass to jabber server to revcieve full information from jabber for different service provider's users.
waiting for answer.
Thanks in advance
Try using XEP-54 to retrieve personal information about a user.

Resources