Does my app use crypting? Firebase - ios

I use Firebase database, storage etc. in my application. When I uploaded my archive to Itunes Connect, it has asked me a questions about crypting. Do I use crypting in my application and etc.
I know, that Firebase uses https.
So the question is: If I use Firebase, what should I answer on this questions?

As of September 20th, 2016 (Dentons) the answer is almost always No. Unless you are a encrypted message provider like Signal, Telegram, Whatsapp or Snapchat - these export controls are no longer a concern. Nearly every app uses HTTPS these days and it defeats the purpose of the U.S. Export Registry if every app needs to be registered.
The countries that are export restricted are people you don't normally want as customers; Syria, North Korea ect... and are typically restricted from using apps for more fundamental reasons - like not having cellphone towers or even the ability to buy a cellphone. It is common for backend services like Firebase and Google to blacklist export-restricted IP spaces, so they won't be able to connect even if they get the app.

Related

İos App Rejected- Can You Help Me With Copyright

I made an application that allows users to select a platform on the home page and watch something on that platform. If I give an example of these platforms, google, youtube, netflix, amazonprime etc. There are around 10-15 platforms and the logos of these platforms are on the main page and users can choose from here. So in short I have a webview application. I wanted to publish it on the app store but my app was rejected. Reason:
5.2.2 Third-Party Sites/Services: If your app uses, accesses, monetizes access to, or displays content from a third-party service, ensure that you are specifically permitted to do so under the service’s terms of use. Authorization must be provided upon request.
5.2.3 Audio/Video Downloading: Apps should not facilitate illegal file sharing or include the ability to save, convert, or download media from third-party sources (e.g. Apple Music, YouTube, SoundCloud, Vimeo, etc.) without explicit authorization from those sources. Streaming of audio/video content may also violate Terms of Use, so be sure to check before your app accesses those services. Documentation must be provided upon request.
I wrote the app's metadata very neatly. My app has been published on Google Play. Am I being rejected because of the platform logos on the homepage of the application? If I remove these logos will the problem be fixed? Or do I really need to get permission from each platform? These platforms are big companies, can I reach them with an e-mail? Will they take me seriously, or what message should I send them to get this permission? I read that Webview is legal, I thought that I don't need to take copyright, after all, there is no situation where I can gain unfair advantage or do something illegal, when the user chooses netflix, I already redirect to netflix, he has to enter his membership and watch. I am not monetizing any site or platform, just browser logic..But I think the App Store is very strict about this and requires me to get permission from all platforms. What should I do, I would be very happy if you share your ideas with me.

Delivering one-time passwords (OTP) via voice call in China

Our app uses one-time passwords for 2FA. We use Twilio for delivering text messages and voice calls. However, according to their documentation (https://support.twilio.com/hc/en-us/articles/360016488474-Calling-Limitations-to-China) there are some regulations that do not allow such short voice calls:
Shorter contact use cases with calls averaging under three minutes (one-time passwords (OTPs), voice alerts, etc.) are incompatible with these new regulations
So, the question is, are there any ways of delivering OTPs via voice calls in China, maybe using some specific authorized local provider, or not?
So I have performed the research and unfortunately found out that international providers either say they do not support such scenario in the same way as Twilio communicated, or told that everything should work, but test shown that there are issues: some calls were missing, or reset automatically etc.
Checked this with TeleSign, Nexmo, Plivo and CheckMobi.
In the end I decided to find a Chinese provider who can do the same work. Tencent and Huawei Cloud provide such functionality only for Chinese companies and calling APIs from Chinese web servers.
The solution that showed that it works at least in test environment is Submail: https://www.mysubmail.com/
They have everything (like web site, docs etc) in Chinese, but the support speaks English so I managed to do all the tests I wanted.
The solution was not tested in production for now, so I'm still not 100% sure that it will work in all cases, but it is the best option I have found.

Sirikit supported services and its extended usage

I have a roadside assistance service application. It has some of the functionalities similar to ride booking app(Eg. Uber). How far can i leverage iOS 10 Sirikit? May be, apple can reject it. But i need to know the technical feasibility.
My application's functionality - I am struck in the middle of road with a flat tire. I need a tow assistance for my car. I give my current location and i ask my app to tow to my preferred dealer location. I pay for the service and wait for the provider to respond. I receive continuous updates from my service provider regarding the driver.
1st Step tried: I am trying to open my app with the statement "Siri, get a roadside assistance for my flat tire". I need to open my app and capture FLAT TIRE as a parameter. But I couldn't.
I tried using AppIntentVocabulary.plist. It was not working. I am missing something and there are no complete tutorials over the internet. Any help is much appreciated.
Sample Project:
Github Link for my simple Siri Integration:
https://github.com/vivinjeganathan/SiriExample
This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.
SiriKit is a way for you to make your content available through Siri. It also lets you add support for your services to the Maps app. To support SiriKit, you use the Intents framework and Intents UI framework to implement one or more extensions that you then include inside your iOS app. When the user requests specific types of services through Siri or Maps, the system uses your extensions to provide those services.
Add SiriKit support only if your app implements one of the following types of services:
Audio or video calling
Messaging
Payments
Searching photos
Workouts
Ride booking
Check this Link: http://airflypan.com/foundation-course/233
http://airflypan.com/foundation-course/233
You really can't do this in any sensible way for the user. Although you app's usecase will map to ride-hailing intent the vocabulary will not. Siri gives you almost no options to influence the vocabulary she is using to communicate to your User. If you could only teach you users that requesting a tow is actually requesting a ride... :)
Apple have analyzed the domains they are supporting and the vocabulary that is used in these domains and "taught" them to Siri in every language/culture that Siri is supporting. This makes total sense from Apple's point of view because you'd be hard pressed to be able to do this yourself.

Is there a single "analytics/marketing" SDK solution for mobile apps?

I hope this is not off topic for StackOverflow since it is not just software development related but also marketing. But I guess this problem is something we developers are all confronted to.
To monitor and market our iOS app, we use a bunch of third party SDKs:
Google Analytics to understand what's happening
a push notification system (e.g. Urban Airship)
a "smart" review prompting engine (e.g. Apptentive)
a testing / crash reporting system (e.g. Testflight)
should you want to run app installs ads, you also need the FB SDK, an SDK to track Twitter conversions, etc.
you may also want to track where other installs come from via something like Tapstream.
So we are already running more than 6 3rd party SDKs in our app, and it does not feel right:
each of them will do some kind of hand shake every time the app is opened
it's as many potential issues
each of them will have a different web interface
Is there a way to optimise all this, i.e. to have just one SDK doing most things? Or does someone know of a lib to wrap all this stuff under one lib for instance?
There is no getting around a few of these. If you want to talk with FaceBook, Twitter, etc. You will need their SDK no matter the 3rd party SDK you choose.
You could actually write your own setup to track and deal with everything, but there are those that have done it before.
For example, Parse will do:
Analytics
push notifications
a "smart" review prompting engine (you can do this yourself by reviewing the analytics)
crash reporting system
it also uses FB SDK, Twitter SDK already to help with user logins where users my want to use their credentials from their sites on your app
user login
cloud database
You could technically throw an "event" into the analytics to track how many folks are using your app that was installed from x store. However, this would require a different version of your app for each store. Sounds like an interesting idea none the less. Tapstreme and others are basically marketing though, not really something required to do something specific. You will need an SDK if they are tracking something specific themselves.
one web interface
There are multiple systems built like this. they are called BaaS or Backend as a Service.
Hope this helps, Cheers

Campaign Measurement - Google Analytics iOS SDK

I want to track my app may be launched by referrals from ad campaigns, websites, or other apps. Therefore, I'm using Google Analytics iOS SDK. Here's guiding document https://developers.google.com/analytics/devguides/collection/ios/v3/campaigns. According to this document, I'll write my own implementation code in application:handleOpenURL: method.
With Android SDK, Google Play app broadcasts an INTENT_REFERRER to our app during installation. This intent contains the value of the referrer parameter of the link used to reach your app's Google Play Store page, if one was present. So, my question is that "Are there any similar things in iOS? How to test it?".
Thanks and best regard,
iTunes doesn't broadcast anything similar to intent_referrer at present. If you use Google Analytics for iOS installs, GA uses Identifier for Advertiser (IDFA) for tracking. When a user taps on an advertisement from a supported network on an app, the IDFA is sent to Google. Then, when your app launches, the IDFA is sent again and compared to list of IDFAs that Google stored from previous taps. That way they can give attribution.
It's obviously not as clean as intent_referrer, but it's the best one can do at present. You can also try fingerprinting etc with Appsflyer, MobileAppTracking etc, but I don't know how accurate those are. I've heard they're not very accurate, but they're better than nothing.
Apple announced adding support for campaign tracking in iTunes Connect. But, we haven't heard about it for a very long time now. So, I won't hold my breath. Hope this helps!

Resources