Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.67
disx
22 / 22 / 0
Регистрация: 26.02.2014
Сообщений: 552
Записей в блоге: 1
#1

Как встроить рекламу appodeal в приложение? - Программирование Android

18.08.2015, 15:45. Просмотров 5422. Ответов 56
Метки нет (Все метки)

Здравствуйте!

подскажите пожалуйста кто сталкивался, сделал все по инструкции с appodeal.com, и выкидывает ошибка:

java.lang.NoClassDefFoundError: com.appodeal.ads.Appodeal
at com.samples.location.getcoordinates.GetCoordinatesActivity.onCreate(GetCoordinatesActivity.java:87)
ругается на эту строку
Java
1
Appodeal.initialize(this, appKey, Appodeal.BANNER);

в чем проблема может быть, поделитесь мыслями кто знает, Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.08.2015, 15:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как встроить рекламу appodeal в приложение? (Программирование Android):

Как правильно добавить рекламу в свое приложение? - Программирование Android
Объясните пожалуйста как правильно добавить рекламу в свое приложение. Если можно пошагово

Как установить рекламу AdMob в свое Android приложение? - Программирование Android
Подскажите пожалуйста, как установить рекламу AdMob в свое Android приложение? Желательно с примером кода или укажите ссылку. Заранее...

Встроить Google карты в свое приложение - Программирование Android
Всем привет. Как встроить google карты в свое приложение? Чтобы остался тот же самый функционал + добавился еще мои фишки. Реально ли это...

Как встроить видео - Программирование Android
Всем добра. Подскажите как лучше встроить в приложение видео плеер, (про стандартные элементы читал много плохого) если можно дайте ссылки...

Как отключить рекламу? - Программирование Android
Как отключить рекламу на сутки после одного нажатия пользователя

Как поставить рекламу chartboost в Android - Программирование Android
Кто может по пунктом обьяснить как внедрить рекламу chartboost в Android?

56
Tamplier777
10 / 4 / 0
Регистрация: 01.10.2013
Сообщений: 26
26.08.2015, 09:02 #16
disx, возможно это просто баг эклипса. Попробуй правой кнопкой по проекту и refresh нажать. Ну или просто через F5.

Добавлено через 6 минут
Ну или еще глянь в диалоге Java Build Path во вкладке libraries. Если все эти jar'ки уже перечислены в списке, то eclipse просто не будет отображать их в структуре, так как они уже добавлены.
0
disx
22 / 22 / 0
Регистрация: 26.02.2014
Сообщений: 552
Записей в блоге: 1
27.08.2015, 12:04  [ТС] #17
перенес проект в студию, но сейчас при сборке такая ошиба:

XML
1
2
Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_25\bin\java.exe'' finished with non-zero exit value 2
подскажите кто в курсе что он хочет?
0
Tamplier777
10 / 4 / 0
Регистрация: 01.10.2013
Сообщений: 26
27.08.2015, 16:56 #18
disx, вероятнее всего, конфликт с зависимостями. В Appodeal SDK версии 1.13 добавили support-v4.jar. Если в проекте уже подключен support-v4 через gradle, то эта jar'ка не нужна. Попробуй отключить и заново собрать.
1
disx
22 / 22 / 0
Регистрация: 26.02.2014
Сообщений: 552
Записей в блоге: 1
27.08.2015, 19:12  [ТС] #19
Tamplier777, так и сделал, отключил support-v4, запустилось собралось, но как рекламу увидеть? она не показывается, а почему это может быть?

Добавлено через 6 минут
первый раз в жизни так хочется рекламу увидеть...
0
Tamplier777
10 / 4 / 0
Регистрация: 01.10.2013
Сообщений: 26
27.08.2015, 19:16 #20
disx, сейчас заметил, что в коде нет вызова Appodeal.show(this, Appodeal.BANNER_BOTTOM). Реклама показывается только после show.

Добавлено через 3 минуты
первый раз в жизни так хочется рекламу увидеть...
0
disx
22 / 22 / 0
Регистрация: 26.02.2014
Сообщений: 552
Записей в блоге: 1
28.08.2015, 13:26  [ТС] #21
Tamplier777, показал show, но все равно ничего не показывается?

вот код:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
import com.appodeal.ads.Appodeal;
 
import android.app.Activity;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.graphics.Color;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;
 
 
public class GetCoordinatesActivity extends FragmentActivity {
 
 
public static final String APP_PREFERENCES = "myNumber"; 
public static final String APP_PREFERENCES_NAME = "Nickname"; // phone number
private static final String APP_REQUEST_CODE = "BabyGPS1, ";
private static final String MY_TOAST = null;
android.support.v4.app.DialogFragment dlg1; 
SharedPreferences mSettings;
    private LocationManager manager;
    Button btnmms;
    
        static EditText messageNumber, et;
        String smsText, smsText1, smsText2, smsText3=" | ", str2;
        
       
///////////////////////////////////////////////////////////////////
 
    private LocationListener locListaner = new LocationListener() {
    
        public void onLocationChanged(Location argLocation) {
            
                ReadyGPS(argLocation);
            
            //
        }
    
        @Override
        public void onProviderDisabled(String arg0) {
            
                ReadyGPS(null);
            
            //
        }
    
        @Override
        public void onProviderEnabled(String arg0) {
            //
            
        }
    
        @Override
        public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
            //
            }
    
    };
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        setContentView(R.layout.main);
 
          String appKey = "652ab933ae565106a4a54320b8591a0bd3974d87114a317a";
          Appodeal.initialize(this, appKey, Appodeal.BANNER);
              
            
        dlg1 = new DialogSet();
        if (isGPSEnabled()==false){
            {
                Intent intent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
                startActivity(intent);
//              Toast toast = Toast.makeText(
//                      getApplicationContext(), "GPS Disabled",
//                      Toast.LENGTH_LONG);
//              toast.show();   
            }
        }
        
        manager = (LocationManager)getSystemService(
                  Context.LOCATION_SERVICE);        
        manager.requestLocationUpdates(
                LocationManager.GPS_PROVIDER, 0, 0, locListaner);
        
        
          
            LocationManager manager = (LocationManager)getSystemService(
                          Context.LOCATION_SERVICE);
                
          
            et = (EditText)findViewById(R.id.editText1);
 
        //----------------------------------------------------------
        
        mSettings = getSharedPreferences(APP_PREFERENCES, Context.MODE_PRIVATE);
        messageNumber=(EditText)findViewById(R.id.et_number);
        
        messageNumber.setOnLongClickListener(new View.OnLongClickListener() {
            
            @Override
            public boolean onLongClick(View v) {
                // TODO Auto-generated method stub
                dlg1.show(getSupportFragmentManager(), "dlg1");
                
                //showDialog(DIAL);
                return false;
            }
 
            
 
            
        });
                   btnmms=(Button)findViewById(R.id.btn_send);
          
    //  text = (TextView)findViewById(R.id.text);   
    
        
        
        Location loc = manager.getLastKnownLocation(
                LocationManager.GPS_PROVIDER);
        
            ReadyGPS(loc);
        
CharSequence name="Изменить номер телефона можно долгим нажатием на текстовом поле.";
            
            SharedPreferences sp = getSharedPreferences(MY_TOAST, 
                    Context.MODE_PRIVATE);
            
            boolean hasVisited = sp.getBoolean("hasVisited", false);
            
            if (!hasVisited) {
                Toast toast = Toast.makeText(
                        getApplicationContext(), name,
                        Toast.LENGTH_LONG);
 
                toast.show();
                //
                Editor e = sp.edit();
                e.putBoolean("hasVisited", true);
                e.commit(); //
            }
            
 
 
if(mSettings.contains(APP_PREFERENCES_NAME)) {
    messageNumber.setText(mSettings.getString(APP_PREFERENCES_NAME, ""));
}
        Appodeal.show(this, Appodeal.BANNER_BOTTOM);//<<<<<<<<<<<<<<----------------------------
 
    }//End onCreate
    
     public boolean isGPSEnabled() {
         
         LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
         if (locationManager != null)
             return locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
         
             else 
             return false;
     }
    
     
     private void ReadyGPS(Location loc)  {
            if (loc != null)
            {
                smsText1 = String.valueOf(loc.getLongitude()); 
                smsText2 = String.valueOf(loc.getLatitude());
                
                btnmms.setBackgroundColor(Color.GREEN);
                
//                           
            }
            else {
                
                btnmms.setBackgroundColor(Color.RED);
            }
            
        }
    
    
        //  private void printLocation(Location loc) {
 
     
        public void sayHello(View v) {
         if(messageNumber.getText().length() == 0){
             Toast.makeText(this, "Введите номер телефона", Toast.LENGTH_LONG).show();
             return;
         }
         if (smsText1!=null | smsText2!=null){
             
                   btnmms.setEnabled(false);
                   btnmms.setBackgroundColor(Color.LTGRAY);
               
             String _messageNumber=messageNumber.getText().toString();
                String messageText = APP_REQUEST_CODE+smsText1+smsText3+smsText2;
                String SENT = "Message sent";
                   String DELIVERED = "Message Delivered";
         
                PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT),0);
                PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED),0);
                registerReceiver(new BroadcastReceiver() {
                    @Override
                    public void onReceive(Context arg0, Intent arg1) {
                        switch (getResultCode()) {
                            case Activity.RESULT_OK:
                                Toast.makeText(GetCoordinatesActivity.this, "SMS отправлено", Toast.LENGTH_LONG).show();
                               
                                
                                break;
                            case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                                Toast.makeText(getBaseContext(), "общие неполадки", Toast.LENGTH_LONG).show();
                                break;
                            case SmsManager.RESULT_ERROR_NO_SERVICE:
                                Toast.makeText(getBaseContext(), "нет сервиса", Toast.LENGTH_LONG).show();
                                break;
                        }
                    }
                }, new IntentFilter(SENT));
                registerReceiver(new BroadcastReceiver()
                {
                  public void onReceive(Context arg0, Intent arg1)
                  {
                    switch (getResultCode())
         
                        {
                        case Activity.RESULT_OK:
                            Toast.makeText(getBaseContext(), "SMS доставлено", Toast.LENGTH_LONG).show();
                            finish();
                            break;
                            case Activity.RESULT_CANCELED:
                            Toast.makeText(getBaseContext(), "SMS не доставлено", Toast.LENGTH_LONG).show();
                            break;
                         }
                    }
                }, new IntentFilter(DELIVERED));
                
                                
                SmsManager sms = SmsManager.getDefault();
                sms.sendTextMessage(_messageNumber, null, messageText, sentPI, deliveredPI);
               
         }
         else {
             Toast.makeText(GetCoordinatesActivity.this, "Координаты не получены", Toast.LENGTH_SHORT).show();
         }
        
    }
          @Override
          public void onResume() {
              super.onResume();
              Appodeal.onResume(this, Appodeal.BANNER);
          }
 
    
    @Override
    protected void onDestroy() {
        super.onDestroy();
        String strNickName = messageNumber.getText().toString(); //
        Editor editor = mSettings.edit();
        editor.putString(APP_PREFERENCES_NAME, strNickName);
        editor.commit();
    }
    
}
0
Tamplier777
10 / 4 / 0
Регистрация: 01.10.2013
Сообщений: 26
28.08.2015, 13:32 #22
disx, вот сейчас странно. Подключение к интернету есть (в смысле не к сети, а именно доступ в интернет)? Никакими блокировщиками рекламы не пользуешься? Свободного места на телефоне достаточно?
0
disx
22 / 22 / 0
Регистрация: 26.02.2014
Сообщений: 552
Записей в блоге: 1
29.08.2015, 07:04  [ТС] #23
Tamplier777, все в порядке с этими делами, а в xml-файле активити ни чего не надо добавлять?
0
Tamplier777
10 / 4 / 0
Регистрация: 01.10.2013
Сообщений: 26
29.08.2015, 08:18 #24
disx, если показывать через Appodeal.BANNER_BOTTOM, то не надо, если через Appodeal.BANNER_VIEW, то надо.
Что-нибудь выдаст, если слушателя повесить? Прям как в примере:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Appodeal.setBannerCallbacks(new BannerCallbacks() {
    private Toast mToast;
 
    @Override
    public void onBannerLoaded() {
      showToast("onBannerLoaded");
    }
 
    @Override
    public void onBannerFailedToLoad() {
      showToast("onBannerFailedToLoad");
    }
 
    @Override
    public void onBannerShown() {
      showToast("onBannerShown");
    }
 
    @Override
    public void onBannerClicked() {
      showToast("onBannerClicked");
    }
 
    void showToast(final String text) {
      if (mToast == null) {
        mToast = Toast.makeText(mActivity, text, Toast.LENGTH_SHORT);
      }
      mToast.setText(text);
      mToast.setDuration(Toast.LENGTH_SHORT);
      mToast.show();
    }
  });
AdMob аккаунт уже подключил? Сейчас с Appodeal можно работать только с подключенным AdMob.
0
disx
22 / 22 / 0
Регистрация: 26.02.2014
Сообщений: 552
Записей в блоге: 1
24.10.2015, 15:55  [ТС] #25
Tamplier777, в AdMob зарегистрировался....

повесил слушателя, запускаю программу все ok и всплывает:

"onBannerFailedToLoad"
а в LogCat при запуске программы проскакивают красные строки:
Кликните здесь для просмотра всего текста

XML
1
Could not find class 'com.appodeal.ads.a', referenced from method com.appodeal.ads.Appodeal.initialize
XML
1
 E/dalvikvm: Could not find class 'dalvik.system.BaseDexClassLoader', referenced from method com.appodeal.ads.utils.d.a
XML
1
Could not find class 'com.google.android.gms.ads.InterstitialAd', referenced from method com.appodeal.ads.interstitial.a.a
XML
1
E/dalvikvm: Could not find class 'com.facebook.ads.InterstitialAd', referenced from method com.appodeal.ads.interstitial.l.a
XML
1
E/dalvikvm: Could not find class 'com.appodeal.ads.video.b', referenced from method com.appodeal.ads.video.a.a
XML
1
E/dalvikvm: Could not find class 'com.appodeal.ads.video.p', referenced from method com.appodeal.ads.video.o.a


чем ему помочь?
0
Tamplier777
10 / 4 / 0
Регистрация: 01.10.2013
Сообщений: 26
24.10.2015, 20:36 #26
disx, опять все указывает на проблему с google play services:
Could not find class 'com.google.android.gms.ads.InterstitialAd'

Содержимое build.gradle можно увидеть?
0
disx
22 / 22 / 0
Регистрация: 26.02.2014
Сообщений: 552
Записей в блоге: 1
24.10.2015, 21:30  [ТС] #27
Tamplier777,

Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
apply plugin: 'com.android.application'
 
android {
    compileSdkVersion 21
    buildToolsVersion "23.0.0"
 
    defaultConfig {
        applicationId "com.samples.location.getcoordinates"
        minSdkVersion 8
        targetSdkVersion 21
    }
 
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}
 
dependencies {
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile files('C:/Users/Nata/StudioProjects/BabyGPS1/libs/android-support-v4-22.2.1.jar')
    compile files('C:/Users/Nata/StudioProjects/BabyGPS1/libs/applovin-sdk-6.0.1.jar')
    compile files('C:/Users/Nata/StudioProjects/BabyGPS1/libs/appodeal-1.13.1.jar')
    compile files('C:/Users/Nata/StudioProjects/BabyGPS1/libs/chartboost-5.5.3.jar')
    compile files('C:/Users/Nata/StudioProjects/BabyGPS1/libs/unity-ads-1.4.7.jar')
    compile files('C:/Users/Nata/StudioProjects/BabyGPS1/libs/my-target-4.0.13.jar')
}
0
Tamplier777
10 / 4 / 0
Регистрация: 01.10.2013
Сообщений: 26
24.10.2015, 21:41 #28
disx, ага, в dependences добавьте строчку:
Код
compile 'com.google.android.gms:play-services-ads:8.1.0'
1
disx
22 / 22 / 0
Регистрация: 26.02.2014
Сообщений: 552
Записей в блоге: 1
24.10.2015, 22:10  [ТС] #29
Tamplier777, ну че друг, заработало, Респект и Уважуха... с такого сервиса можно брать пример!!!
0
Tamplier777
10 / 4 / 0
Регистрация: 01.10.2013
Сообщений: 26
24.10.2015, 22:13 #30
disx, рад =)
У нас кстати, чат на сайте есть с техподдержкой (кнопка в правом нижнем углу) - там быстрее отвечаем. Форумы не очень удобно мониторить.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2015, 22:13
Привет! Вот еще темы с ответами:

Как заблокировать рекламу Clash of Clans в своём приложении - Программирование Android
как заблокировать рекламу Clash of Clans в своём приложении. Думаю она многих достала. Почти всё время её показывают. Пробывал вычислить...

Как встроить IE в свое приложение? - Visual C++
Ну собственно вопрос в сабже: Как встроить IE в свое приложение? Так, чтобы в моей програмулине было только окошко эксплорера без всяких...

Как встроить компилятор Java в свое приложение - Java SE
ТЗ - редактор Java-кода который выдает байт код соотвеncnвенно есть некий класс и интерфейс для обращения к нему - и tuj можно просто...

[WPF] Как встроить видеофайл в приложение и воспроизвести его при запуске? - C# WPF
Всем привет! как именно объявить, запустить видеофайл, чтобы он находился в самой программе после сборки, то есть, чтобы он...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Yandex
Объявления
24.10.2015, 22:13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru