2017-04-21 1 views
0

내 애플 리케이션에 UseButton 필요 uber 애플 리케이션을 연결합니다.이 다음 코드를 구현했습니다. useButton 개발자 사이트에서 검토를 위해 제출했다. 검토 양식을 작성하는 동안 작동중인 버튼이있는 스크린 샷을 묻습니다. 화면의 내 버튼은 보이지 않습니다. 어떻게 그것이 작동 버튼이 될 수 있습니다.안드로이드에서 UseButton 사용하는 방법

도와주세요.

public class MainActivity2 extends AppCompatActivity { 
RelativeLayout rootLayout; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    rootLayout = (RelativeLayout) findViewById(R.id.rootlayout); 

    final ButtonDropin buttonDropin = new ButtonDropin(MainActivity2.this); 
    buttonDropin.setButtonId("btn-11cd09c63aaa7c02"); 

    buttonDropin.setBackgroundResource(R.drawable.ic_app_button); 
    buttonDropin.setTextSize_Button(getResources().getDimensionPixelSize(R.dimen.my_text_size)); 
    ButtonContext contexts = null; 
    try { 
     final RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 
     layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT); 
     buttonDropin.setLayoutParams(layoutParams); 
     rootLayout.addView(buttonDropin); 

     contexts = ButtonContext.withSubjectLocation(new Location("Button HQ", 11.9362587, 79.8268325)); 

     if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { 
      return; 
     } 
     final android.location.Location userLocations = new LocationProvider(this).getBestLocation(); 

     if (userLocations != null) { 
      contexts.setUserLocation(new Location(userLocations)); 
     } 
    }catch (Exception e){ 
     Toast.makeText(MainActivity2.this,"Exception :"+e,Toast.LENGTH_LONG).show(); 
    } 

    buttonDropin.prepareForDisplay(contexts, new ButtonDropin.Listener() { 
     @Override 
     public void onPrepared(final boolean isReady) { 
      Toast.makeText(MainActivity2.this,"IsReady:"+isReady,Toast.LENGTH_LONG).show(); 

     } 

     @Override 
     public void onClick(ButtonDropin buttonDropin) { 
      Toast.makeText(MainActivity2.this,"buttonDropin onclick",Toast.LENGTH_LONG).show(); 
     } 
    }); 
}} 

답변

1

검토 할 필요가있는 버튼은 계속 렌더링됩니다. 또한, 표시 할 인벤토리가있는 경우에만 버튼이 렌더링됩니다 (이 예에서는 사용자가있는 곳에서 사용자가가는 곳, 컨텍스트에 설정된 곳에서 가져갈 Ubers가 있음).

첫째,

<application 

    <activity 
     <!-- your activities --> 
    </activity> 

    <!--Button SDK--> 
    <meta-data android:name="com.usebutton.applicationid" android:value="YOUR_BUTTON_APP_ID"/> 
</application> 

그런 다음의 AndroidManifest.xml 파일에 버튼을 추가,

compile 'com.usebutton:android-sdk:5+' 

그런 다음 앱의 build.gradle 파일에 버튼 SDK를 추가, 상단의 SDK를 가져 활동을 시작하고 시작하십시오. 응용 프로그램 클래스를 만들 때이 메서드를 호출해야합니다.

<com.usebutton.sdk.ButtonDropin 
     android:id="@+id/main_dropin" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     /> 

을 다음 활동 파일에 버튼의 액션을로드 : 다음

import com.usebutton.sdk.Button; 

public class MyApplication extends Application { 
    @Override 
    public void onCreate() { 
     super.onCreate(); 

     Button.getButton(this).start(); 
    } 
} 

,보기에 버튼을 추가

final ButtonDropin buttonDropin = (ButtonDropin) findViewById(R.id.main_dropin); 

// Set location to go to 
final Location location = new Location("LOCATION_NAME", LATITUDE, LONGITUDE); 
// Create Button Context 
final ButtonContext buttonContext = ButtonContext.withSubjectLocation(location); 

// Get Button Action and display if there is inventory 
Button.getButton(this).getAction("YOUR_BUTTON_ID", buttonContext, "my-pub-ref", new Button.ActionListener() { 
    @Override 
    public void onAction(final AppAction action) { 
     // Display Button 
     buttonDropin.prepareWithAction(action); 
    } 

    @Override 
    public void onNoAction() { 
     // Don't display Button 
     buttonDropin.setVisibility(View.GONE); 
    } 
}); 
+0

당신에게 user3376502 @ 대단히 감사합니다 –

관련 문제