2012-10-18 18 views
16

मैं फेसबुक के नए मोबाइल ऐप विज्ञापनों को ट्रैक करने के लिए समर्थन को एकीकृत करने के लिए देख रहा हूं।मुझे कॉल को कहां रखना चाहिए [FBSettings publInstall: appId]

मैं ट्यूटोरियल यहाँ पढ़ा है: https://developers.facebook.com/docs/tutorials/mobile-app-ads/

इसे कहते हैं:

निम्नलिखित कोड शामिल करें निष्पादित करने के लिए अपने ऐप के उपयोगकर्ता द्वारा पहली बार के लिए खुल जाता है

[FBSettings publishInstall:appId]; 

तो पहला सवाल यह है कि - मैं इसे कहां रखूं ताकि यह केवल कॉल से आक्रमण कर सके यदि इंस्टॉल फेस से संचालित हो किताब? मैं नहीं चाहता कि एफबी किसी ऐसे व्यक्ति के लिए क्रेडिट प्राप्त करे जिसने ऐप स्टोर पर अपना ऐप स्वयं पाया हो।

क्या मुझे मैन्युअल रूप से ट्रैक करने की आवश्यकता है कि मैंने इस विशिष्ट उपयोगकर्ता के लिए पहले प्रकाशित किया है या नहीं? (प्रस्तावना वाक्य इसका तात्पर्य है - लेकिन प्रकाशित करने के लिए एसडीके दस्तावेज इंस्टाल का अर्थ अन्यथा है)।

और इससे भी अधिक भ्रमित यह है कि एसडीके एफबीएसनेटिंग संदर्भ में shouldAutoPublishInstall शामिल है जो YES पर डिफ़ॉल्ट है। यह सुझाव देगा कि मुझे एसडीके एकीकृत करने के अलावा कुछ और करने की आवश्यकता नहीं है। तो ट्यूटोरियल इसे एक विकल्प के रूप में क्यों नहीं बताता है?

मुझे लगता है कि ऐपआईडी संबंधित फेसबुक ऐपआईडी (ऐप स्टोर ऐप आईडी के विपरीत) है। यह दस्तावेज़ीकरण से भी स्पष्ट नहीं है।

+1

आप इस से संबंधित कोई अतिरिक्त जानकारी का पता लगाना था कोड डाल

- (void)applicationDidBecomeActive:(UIApplication *)application 

आशा? मैं installs को ट्रैक करने के लिए publInstall का उपयोग करना चाहता हूं, लेकिन किसी भी प्रकार के फेसबुक लॉगिन को लागू नहीं करना चाहता हूं। मैं एक मुद्दा भी देख रहा हूं जहां आईओएस 6+ पर फेसबुक एसडीके प्रकाशित होता है जब यह प्रकाशितइन लाइन पर जाता है। –

उत्तर

7

मैंने फेसबुक आईओएस एसडीके के स्रोतों को ब्राउज़ किया, और ऐसा लगता है कि गाइड गलत है।

आप सही हैं, autoPublishInstall डिफ़ॉल्ट रूप से YES पर सेट है, जिसका अर्थ है कि हमें मैन्युअल रूप से [FBSettings publishInstall:appId]; का आह्वान करने की आवश्यकता नहीं है। AppId वास्तव में फेसबुक ऐप आईडी है।

जब आप openActiveSessionWith.... विधि आह्वान, यह FBSession साथ initWithAppID:permissions:defaultAudience:urlSchemeSuffix:tokenCacheStrategy: जो अंत में शामिल [FBSettings autoPublishInstall:self.appID];

+ (void)autoPublishInstall:(NSString *)appID { 
    if ([FBSettings shouldAutoPublishInstall]) { 
     dispatch_once(&g_publishInstallOnceToken, ^{ 
      // dispatch_once is great, but not re-entrant. Inside publishInstall we use FBRequest, which will 
      // cause this function to get invoked a second time. By scheduling the work, we can sidestep the problem. 
      [[FBSettings class] performSelector:@selector(publishInstall:) withObject:appID afterDelay:FBPublishDelay]; 
     }); 
    } 
} 

तो तकनीकी रूप से यह रिपोर्ट करना चाहिए बॉक्स से बाहर स्थापित (अगर मैं कुछ कमी नहीं कर रहा हूँ) initializes। मैं यह देखने के लिए आज थोड़ा और खेलना चाहता हूं कि यह अपेक्षाओं के साथ काम करता है और परिणामों के साथ उत्तर अपडेट करता है।

+1

आप सही हैं, अगर आप फेसबुक लॉगिन लागू करते हैं तो प्रकाशन आपके लिए स्वचालित रूप से सेट होना चाहिए। इसलिए आपको खुले कॉल करने से परे कोई कोड जोड़ने की ज़रूरत नहीं है ... विधियां। –

6
  1. बस इसे -[application:didFinishLaunchingWithOptions] पर रखें।

  2. सभी ऐप्स फेसबुक लॉगिन को एकीकृत नहीं करना चाहते हैं। वे केवल "मोबाइल ऐप इंस्टॉल विज्ञापन" सुविधा चाहते हैं। इस तरह के ऐप के लिए, उन्हें मैन्युअल रूप से +[FBSettings publishInstall:appId] का आह्वान करना चाहिए। दूसरी तरफ, यदि आपका ऐप पहले ही फेसबुक लॉगिन एकीकृत कर चुका है, तो आप यह मान सकते हैं कि एफबी एसडीके ने इंस्टॉलेशन प्रकाशित किया है।

3

हम सिर्फ डाल करने के लिए

[FBSettings publishInstall:appId]; 

-[application:didFinishLaunchingWithOptions] 

में

मैन्युअल मैं कैसे की पहचान करेगा जो फेसबुक से हुआ स्थापित है, तो? मैं नहीं चाहता कि एफबी किसी ऐसे व्यक्ति के लिए क्रेडिट प्राप्त करे जिसने ऐप स्टोर पर अपना ऐप स्वयं पाया हो।

2

AppDelegate DidbecomeActive विधि में इस मदद :)

+0

यह उनके प्रलेखन के अनुसार है: एसडीके 3.1 में प्रकाशित करने वाली एफबीएसनेटिंग क्लास में एक विधि है जिसे प्रकाशित किया गया है: यह अतुल्यकालिक रूप से फेसबुक पर स्थापित होने पर एक इंस्टॉलेशन ईवेंट को पिंग करता है। इसे एप्लिकेशन में शामिल करेंडिडबैकएक्टिव: इस तरह के आपके ऐप प्रतिनिधि की विधि। https://developers.facebook.com/docs/ios/upgrading-from-2.0-to-3.1/ –

संबंधित मुद्दे