2014-10-20 3 views
5

दिखाई नहीं दे रहा अनलॉकिंग उपलब्धि डेवलपर्स डॉक्स से इस सरल विधि का उपयोग कर रहा हूँ:Google Play खेल उपलब्धि खुला पॉपअप

Games.Achievements.unlock(getApiClient(), "my_achievement_id"); 

उपलब्धि अनलॉक, लेकिन कोई पॉपअप दिखाता है। Google Play गेम्स में लॉग इन होने पर भी कोई पॉपअप नहीं है - जो कनेक्ट है।

उत्तर

9

मैं थोड़ी देर के लिए इसके साथ संघर्ष कर रहा था, इसीलिए इसे स्टैक ओवरफ्लो पर साझा करने का फैसला किया गया। मैंने my developer's blog पर इस समस्या के लिए एक सरल फिक्स का वर्णन किया है।

बस लेआउट आप इस तरह पर उपलब्धियों को प्रदर्शित करना चाहते के लिए एक दृश्य जोड़ें::

यहाँ लघु संस्करण है

<FrameLayout 
     android:id="@+id/gps_popup" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="20dp" /> 

जब आप अपने लेआउट तैयार है आप के अंदर इस पर अमल करने के लिए neet अपने गतिविधि या टुकड़ा:

Games.setViewForPopups(getApiClient(), findViewById(R.id.gps_popup)); 

आप देखेंगे कि आपके GoogleApiClient हालांकि जुड़ा हुआ है, यह सुनिश्चित करने के लिए है, अन्यथा आपके एप्लिकेशन दुर्घटना होगा।

+1

क्या GoogleApiClient को वास्तव में कनेक्ट होना है? क्या होगा यदि यह ठीक से तत्काल है लेकिन वास्तव में कनेक्ट नहीं है? मुझे नहीं पता कि क्यों कनेक्ट किया जाना चाहिए एक दृश्य स्थापित करने पर कोई प्रभाव पड़ना चाहिए। – Tosen

+0

पूरी तरह से काम किया .. –

1
<FrameLayout 
     android:id="@+id/gps_popup" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="20dp" /> 

यह

GamesClient gamesClient = Games.getGamesClient(MainActivity.this, GoogleSignIn.getLastSignedInAccount(context)); 
gamesClient.setViewForPopups(findViewById(R.id.gps_popup)); 

यह बदल गया है क्योंकि 2 मानकों के साथ setViewForPopups बहिष्कृत है जेसेक Kwiecień जवाब में एक ही है।