Is it necessary to call FB.Init()? - ios

We're trying to integrate the Facebook SDK just so we can track installs and the effect of Facebook ads on our mobile game on iOS.
From what I've been reading it sounds like the purpose of calling FB.Init() is to give back a page to display to the user to log them into Facebook. That's not really what we're interested in so we just ignore it. Our game doesn't need or want to log anyone into Facebook -- merely to track the install of the app by App Id. Do we even need to call this?
Is it enough merely to include the SDK and set up the settings file in our app for iOS builds?

Yes, you have to call it.
This method is used to initialize and setup the SDK. All other SDK methods must be called after FB.Init(), because they
won't exist until you do.

Related

GDPR consent for Chartboost iOS 8.2.0 SDK

I'm integrating Chartboost into one of my apps. I've done this before, but before GDPR.
In the integration docs, it says to call the "startWithAppId" within the first few seconds of launching an app. Got it. I do that in "didFinishLaunchingWithOptions"
It also says, "Publishers should call the addDataUseConsent API from the Chartboost SDK and pass in the appropriate consent value for GDPR and CCPA. Publishers are required as part of Terms of Service to obtain the consent from their users before Chartboost will process any personal data and pass it to the Chartboost SDK via the above method. This method should be called before startWithAppId if possible."
What's the best way to go about doing that? Grab the self.window.RootViewController, and present my own dialog?
Chartboost's example app does this:
[Chartboost addDataUseConsent:[CHBGDPRDataUseConsent gdprConsent:CHBGDPRConsentBehavioral]];
[Chartboost addDataUseConsent:[CHBCCPADataUseConsent ccpaConsent:CHBCCPAConsentOptInSale]];
before the startWithAppId call, but it needs to ask for permission, not blindly just set those values, right? Or am I missing something here?
For AdMob, I was able to use the PACConsentInformation, but I'm at a loss for what to do with only Chartboost.
Yes that's correct. You need to present your own dialog with CCPA and GDPR information and how it will be used. You can then use their response for those values.
I wouldn't worry too much about calling startWithAppId before showing the dialog. Just set both values to opt-out for the first session then the next time the user opens the app use their responses for the values. I would assume that startWithAppId just needs to be called ASAP for them to track stuff.

IOS Deeplinking- Pass msg from email to your app

Existing user of the app will send email to other user.
Other user may have app installed or not installed on their device.
The email will contain some token. Now I want to pass that token to my app. I have read that by deep-linking, its possible. But how will I handle the case when other user have not installed my app yet in their IOS device.
Any help is appreciated.
What you're describing is called Deferred Deep Linking (Deep Linking refers to using a link to open your app, even directly to a specific piece of content, and Deferred means that it works even if the app isn't installed first).
Unfortunately there's no native way to accomplish this yet on either iOS or Android. URL schemes don't work, because they always fail if the app isn't installed. Apple's new Universal Links in iOS 9 get closer, but you'd still have to handle redirecting the user from your website to the App Store
A free service like Branch.io (full disclosure: they're so awesome I work with them) can handle all of this for you though. Here's the docs page covering exactly how to create email links like you described: https://docs.branch.io/pages/emails/email-partners-list/

iOS Conversion / installation Tracking

Objective: i want to fetch my custom parameter(referrer) from iTunes link upon installation of my application in device.
iTunes links look somethings like this:
https://itunes.apple.com/in/app/complete-gym-guide-lite/id550449574?mt=8
If i append my parameter say(&referrer=xyz)at the end and i open this url in ios safari browser then it will prompt to download the application.
Confusion: will app store send my parameter(referrer) to my application on launch so that i can fetch it in my application and use it.
In case of Android play store link look like this: http://play.google.com/store/apps/details?id=&referrer=guid%3D%guid%
As you can see referrer parameter at the end of url. Once app is installed in device then play store will send this parameter to app using INSTALL_REFERRER broadcast receiver. We can use this parameter.
What i tried OR Other people doing for conversion tracking: Other people are simply sending static data to their server at the first time opening of app and maintain a flag in NSDefault to make sure that app does not send same data again. I can also do the same as well as alternate ways suggested in below links but i want to do something with custom parameter.
I have already seen below links:
iOS - track which ad campaigns my installs are coming from
Tracking iOS installs from multiple marketing sources
Please help me out.
As #Aditya said, for now, Apple is not sending any referrer (or params) from iTunes to installation.
The only way you have it's to use a third party sdk to get your installations.
I have been working on a own sdk to get this but the way to get any info it's really hard and not really confident to use it. So endly we used some third party which are using many techniques to getting this (as fingerprint data, App2App methods, etc...)
I have tested appsflyer sdk and facebook sdk, they work as expected, use this or any else you prefer.
Hope this helps

Initiate Facebook Group Chat from iOS App

I want my app to create a new Facebook group chat with certain people that opens either on Facebook's site in Safari or in the native Facebook app when the user presses a button. I want Facebook to handle the whole chat and my app only to initiate it somehow in the cleanest and least involved way possible. My app already uses the Facebook SDK to open an active FBSession, so I've already got login credentials.
Looking around online and in Facebook's docs, I can't find anything that suits my needs. The closest thing I found was in this answer containing a list of Facebook app URLs you can connect to that open the Facebook app to certain pages. There's "fb://chat/(initWithUID:)" and "fb://messaging/compose/(initWithUID:)". However, not only is there no explanation on how to use these, but people say that Facebook has changed these URLs (and does not have any documentation on them), so they don't work anymore unless I reverse-engineer new URLs (which could change again). Ugh, so close!
I also found examples on starting chats with the Facebook Chat API, but that involves logging into Facebook using some networking framework then writing my own GUI and model for sending messages, which I am only prepared to do as a last resort. There should be some way to let the Facebook app or website do all that. Does anyone know how I can do this?
I've found something very close, but I still don't see a way to make my app initialize it with the desired group of friends:
The Facebook SDK has a message dialog that can appear for sending messages to friends. This isn't exactly what I wanted but is good enough because it means that all the programming is already done for me by Facebook, and users should be able to see these messages on https://facebook.com and the Facebook apps. https://developers.facebook.com/docs/ios/share#message-dialog

Facebook iOS sdk 3.10 share local image or movie

I used Facebook sdk in the past, but the new version is making me crazy. I'm trying to create a UIActivity subclass that calls the official facebook share dialog. Since for someone having the "via iOS" instead of the app name in the post is a first world problem (just kidding), I can't use the iOS native integration with the SLComposeViewController.
In the documentation it seems that for post a picture using the share dialogs you need to use open graph actions, but is not totally clear to me if you can do inside your app, or you need to rely on external php application.
I've seen that there are some common actions that wouldn't require a declaration of a new one, but posting a photo or a movie it doesn't seems to be there.
I'd like to use something "native" as a share dialog instead of an FBSession if possible.

Resources