iOS Question Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing

Waldemar Lima

Well-Known Member
Licensed User
These are the resources used in my project...

B4X:
Sub Class_Globals
    Private Root As B4XView
    Private xui As XUI
    Private LinguagemAtual As String = ""
    Private WebView1 As WebView
    Dim iad As InterstitialAd
    Private intro As Panel
End Sub

1675010432475.png


how can i solve this ?
 

Filippo

Expert
Licensed User
Longtime User
These are the resources used in my project...

B4X:
Sub Class_Globals
    Private Root As B4XView
    Private xui As XUI
    Private LinguagemAtual As String = ""
    Private WebView1 As WebView
    Dim iad As InterstitialAd
    Private intro As Panel
End Sub

View attachment 138650

how can i solve this ?
Only with this information none of us can help you.
Have you asked Apple where the problem is?
 
Upvote 0

Alex_197

Well-Known Member
Licensed User
Longtime User
You need to put on the Internet your legal and privacy statements and submit URL's to your appstore account
 
Upvote 0

Computersmith64

Well-Known Member
Licensed User
Longtime User
What was the actual message Apple review sent you? It might be something other than your privacy policy that is causing the issue. I don't know how you expect anyone to be able to help you if you don't even post the rejection message you were sent.

- Colin.
 
Upvote 0

Waldemar Lima

Well-Known Member
Licensed User
sorry

1º review
B4X:
01/28/2023 às 11:20
Hello,


Thank you for your efforts to follow our guidelines. There are still some issues that need your attention.


If you have any questions, we are here to help. Reply to this message in App Store Connect and let us know.


Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing

The app privacy information you provided in App Store Connect indicates you collect data in order to track the user, including Advertising Data and Crash Data. However, you do not use App Tracking Transparency to request the user's permission before tracking their activity.


Starting with iOS 14.5, apps on the App Store need to receive the user’s permission through the AppTrackingTransparency framework before collecting data used to track them. This requirement protects the privacy of App Store users.


Next Steps


Here are two ways to resolve this issue:


- If you do not currently track, or decide to stop tracking, update your app privacy information in App Store Connect. You must have the Account Holder or Admin role to update app privacy information.


- If you track users, you must implement App Tracking Transparency and request permission before collecting data used to track. When you resubmit, indicate in the Review Notes where the permission request is located.


Resources


- Tracking is linking data collected from your app with third-party data for advertising purposes, or sharing the collected data with a data broker. Learn more about tracking.

- See Frequently Asked Questions about the requirements for apps that track users.

- Learn more about designing appropriate permission requests.

2º review :
B4X:
01/29/2023 às 06:59
Hello,


The issues we previously identified still need your attention.


If you have any questions, we are here to help. Reply to this message in App Store Connect and let us know.


Bug Fix Submissions


The issues we've identified below are eligible to be resolved on your next update. If this submission includes bug fixes and you'd like to have it approved at this time, reply to this message and let us know. You do not need to resubmit your app for us to proceed.


Alternatively, if you'd like to resolve these issues now, please review the details, make the appropriate changes, and resubmit.


Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing

The app privacy information you provided in App Store Connect indicates you collect data in order to track the user, including Crash Data and Advertising Data. However, you do not use App Tracking Transparency to request the user's permission before tracking their activity.


Starting with iOS 14.5, apps on the App Store need to receive the user’s permission through the AppTrackingTransparency framework before collecting data used to track them. This requirement protects the privacy of App Store users.


Next Steps


Here are two ways to resolve this issue:


- If you do not currently track, or decide to stop tracking, update your app privacy information in App Store Connect. You must have the Account Holder or Admin role to update app privacy information.


- If you track users, you must implement App Tracking Transparency and request permission before collecting data used to track. When you resubmit, indicate in the Review Notes where the permission request is located.


Resources


- Tracking is linking data collected from your app with third-party data for advertising purposes, or sharing the collected data with a data broker. Learn more about tracking.

- See Frequently Asked Questions about the requirements for apps that track users.

- Learn more about designing appropriate permission requests.


3º review :

B4X:
02/01/2023 às 07:16
Hello,


Thank you for your message. We appreciate your efforts to resolve this issue and to comply with the App Store Review Guidelines.


The following resources may help you implement App Tracking Transparency in your app:


- Review developer documentation for the AppTrackingTransparency framework.

- See Frequently Asked Questions about App Tracking Transparency.

- Ask fellow developers and Apple engineers a question in the Apple Developer Forums.


We hope these resources are informative. We look forward to reviewing your future submissions to the App Store.


Best regards,


App Store Review


this is my libraries on project >:

1675522808082.png

my code on b4xmainpage:

B4X:
#Region Shared Files
''#CustomBuildAction: folders ready, %WINDIR%\System32\Robocopy.exe,"..\..\Shared Files" "..\Files"
'Ctrl + click to sync files: ide://run?file=%WINDIR%\System32\Robocopy.exe&args=..\..\Shared+Files&args=..\Files&FilesSync=True
#End Region

'Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=Project.zip

Sub Class_Globals
    Private Root As B4XView
    Private xui As XUI
    Private LinguagemAtual As String = ""
    Private WebView1 As WebView
    Dim iad As InterstitialAd
    Private intro As Panel
End Sub

Public Sub Initialize
    B4XPages.GetManager.LogEvents = True
End Sub

'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
    Root = Root1
    Root.LoadLayout("MainPage")
    WebView1.LoadUrl("MYURLHERE")
    iad.Initialize("iad","ca-app-pub-MYADSCODEHERE")
    iad.RequestAd
End Sub

'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.

Sub iad_Ready (Success As Boolean)
    Log("iad = "&iad)
    iad.Show(B4XPages.GetNativeParent(Me))
End Sub

Sub Webview1_OverrideUrl (Url As String) As Boolean
    Log(Url)
End Sub

Sub Webview1_PageFinished (Success As Boolean, Url As String)
    Log(Success)
    Log(Url)
   
    If (Success = True) Then
        Sleep(4000)
        intro.Visible = False
    End If
   
End Sub

Sub GetPreferredLanguage As String
    Dim no As NativeObject
    Return no.Initialize("NSLocale") _
        .RunMethod("preferredLanguages", Null).RunMethod("objectAtIndex:", Array(0)).AsString
End Sub

page Main code:
B4X:
'Code module
#Region  Project Attributes
    #ApplicationLabel: MYAPPHERE
    #Version: 1.0.34
    'Orientation possible values: Portrait, LandscapeLeft, LandscapeRight and PortraitUpsideDown
    #iPhoneOrientations: Portrait
    #iPadOrientations: Portrait
    #Target: iPhone, iPad
    #ATSEnabled: false
    #MinVersion: 8
#End Region

#PlistExtra: <key>GADIsAdManagerApp</key><true/>
#AdditionalLib: libsqlite3.dylib
#AdditionalLib: libz.dylib
#AdditionalLib: WebKit.framework
#Entitlement: <key>aps-environment</key><string>production</string>
#CertificateFile: ios_distribution.cer

#If RELEASE
    #ProvisionFile: MYAPP_Release.mobileprovision
#Else
    #ProvisionFile: MYAPP.mobileprovision   
#END IF
 
Last edited:
Upvote 0

Computersmith64

Well-Known Member
Licensed User
Longtime User
So it seems the issue is you're showing ads, but you're not asking the user whether or not you can show personalized ads. You need to implement Ad Tracking Transparency so that AdMob knows whether to use the IDFA (which is the identifier it uses to track a user's history) to show personalized ads, or whether to show non-personalized ads. There's some info from AdMob about it here.

As far as implementing it in B4i, this thread should get you there.

- Colin.
 
Upvote 0
Top