Getting Facebook user ID from message dialog - android

I am developing an app that would allow users to invite his friends to an event.
What I want to achieve is that when the host is inviting friends, he can invite those that are not on the app through a button. This would send a message to those invited friends that includes a link to install our app. Once they install the app, they can login and will immediately view events he is invited to. Can this be done?
The concern is that when the user who receives the invitation message and installs the app and logs on, how will the app know the person who logged in is the person that is invited in the first place? If the app cannot associate them, how can we provide the relevant events to him once he has logged in? Is what I want to achieve unattainable?
I think it might be done through the old Facebook API, but their new one will only allow an app to access a user's friends who are also on the app and not those that are not on the app. In this case, is there a way for us to pull the UID of those invited through FB's messaging dialog? And will this work with group chat?
I know that another way will be to do it via phone number confirmation and accessing the user's contacts, but I want the invitation process to be through facebook if that is possible.
Thank you all for your help in advance.
Lok

Related

React Native How to get user friends that not installed my app and send the invitation

So I am using react-native-fbsdk in my app. I want my app to have functionality to invite user facebook friends to use my app. That functionality will be in card that show user friends profile picture and name, and a button that can be used to invite that friend. My app is not a game.
My first question is how can I get all user friends that not using my app and using react-native-fbsdk for invitation?
So far I know that facebook has two API to do this taggable_friends and invitable_friends.
taggable_friends is used when user need to do post and tag his friend (I think this not what I looking for, cause all I want is user press the button and the invitation will imediately send to his friend)
invitable_friends is use for game, but for non game app, I can use message dialog
https://developers.facebook.com/docs/apps/faq/
For apps which are not games, or for apps without a Canvas presence,
use our other products such as the Message Dialog on iOS and Android,
Send Dialog for the Web or the Share Dialog on iOS, Android, Web.
These products let a person easily select the friends they want to
message or share with.
So the second question is how I can use this message dialog inside my react-native app?
note: react-native-fbsdk has FBAppInviteDialog, is it relevant to this question?

Prevent inviting existing users or previously invited

I am using AppInviteInvitation to let users invite other others for my app. Does anyone know if there's a way from the API to prevent users from these two scenarios:
already have the app installed
received the invitation previously?
Thanks!
Firebase App Invites does not allow you to get information on the list of users who has been invited before or already have an application in their smartphone.
I would recommend to use combination of "Firebase App Invites" and "Facebook App Invite".
Facebook App Invite take care of both the scenarios you mentioned:
1) Already have the app installed - If the user already have an app installed the users won't see your invite in their notification.
2) Received the invitation previously - If the users already received the invite before they won't receive it further after a threshold time.
But again you don't have any API to access this information, the above scenario is taken care by Facebook itself.
Google App Invites only allows you to find out the fact that you were invited, but does not store this information anywhere. You can use the services such as Kinvey, Deployd, PushWoosh and so on, in which you can record information about the invites sent in database. So if the invited user has an installed application you can fix the invoice repayment there, and the inviting user in the application sees how many invitations he has left to send.

how to notify android app that email verification link clicked?

I have a difficult situation in mobile i need help with. I am working on a android app that allows the user to change their email address after they have successfully logged in. This is part of the account settings menu.
Let's go through the flow so i can show you the issue:
user logs in successfully as firstEmail#domain.com
user goes to account settings area and changes their email to secondEmail#domain.com.
The android app notifies the user that a verification email has been sent to their new email secondEmail#domain.com
User leaves the app and goes to their email app like gmail app and finds the verification email and clicks the link inside to verify the account.
Behind the scenes transparent to user, clicking the verification link updates the back end server to update the database with new email address.
User returns to the android app but is still logged in as firstEmail#domain.com
How can i notify the application that the user verified the email ?
I was thinking one approach could be that after user clicks on the verification link and back end DB is updated, that i could redirect them with a deep link into the app and update the new email that way but need advice as user could open the verification link from their pc or anywhere else.
Deep linking is better idea also you need to receive notification in application that email is verified and that notification you would fire or make it background by setting notification type you can do that one, so all device will receive that notification which you logged with same user.
Thanks, i hope this will work.
Log them out after they changed the account email. They should not be able to use the 1st email anymore. The account must use the 2nd one, albeit inactive until your backend is updated with verification.

How to show user's joined group from Facebook?

In my web project, user will login using Facebook, Using my FB app I want to access users joined groups list. I want to show that list to the user. User will select the desired group from that list and submit it back in the website.
Accessing user group will require a facebook permission and review. I submit my app and I got this response- user_groups
General
The user_groups permission is only approved for apps that let people use Facebook on platforms or devices that don’t have a Facebook app. If you're building an app on Android, iOS, Web or Desktop, for example, you won't be approved for this permission.
I am not able to understand the meaning of it. Does anyone face the same issue?

Invite new users for my app using app notifications facebook

My app logs in via facebook and all friends of facebook user logged is listed to be invited to download my app. I want guests to be advised via facebook through a notification.
I've done the test via "Graph Api Explore" as follows:
POST/{recipient_userid}/notifications? access_token = ... & template = John is inviting you to learn a new app. & href = ... "
but I noticed that the notification comes only to those who already have my application installed.
{return: "(#200) Cannot send notifications to a user who has not installed the app"}
how do I send notifications for facebook users that still do not have my application installed?
thks!
Because notifications are not meant to be used to invite friends. They're used to notify your app users of events happening in the app (e.g. if their high score was beaten in a game for example).
If you want to let your user invite friends to also use the app, I'd suggest you use the Request & Invite features of the Facebook SDK:
https://developers.facebook.com/docs/tutorials/ios-sdk-games/requests/
That tutorial shows you how your user can select a list of friends to invite and then write a message that will accompany the invitation.

Categories

Resources