рдХрдИ рдмрд╛рд░ рд╡реЗ рдкрд╣рд▓реЗ рд╣реА рдЖрд╡реЗрджрди рдореЗрдВ рднреБрдЧрддрд╛рди рдХрд┐рдП рдЧрдП рд╡рд┐рдЬреНрдЮрд╛рдкрди рд╡рд┐рдпреЛрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рдЪреБрдХреЗ рд╣реИрдВред рдСрди-рдРрдк
рдореЗрдВ рдкрд╣рд▓реЗ
рд╕реЗ рд╣реА рдПрдХ рд╣реЗрдмреНрд░ рдкрд░
рд▓реЗрдЦ рдереЗ рд╕рдЪ рд╣реИ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдкреАрдЖрдИ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдкреБрд░рд╛рдиреЗ рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИред рдПрдХ
рд╕рдорд╛рди рд▓реЗрдЦ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдерд╛ рдЬреЛ рд╡рд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рдереА, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рд▓реЗрдЦ рдХрд╛ рджреВрд╕рд░рд╛ рднрд╛рдЧ рдирд╣реАрдВ рджреЗрдЦрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рдХрдИ рдЕрднреА рднреА рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдореИрдВрдиреЗ рдпрд╣ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдЗрд╕реЗ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдЗрди-рдРрдк рдЦрд░реАрджрд╛рд░реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЕрдВрджрд░ рдЖрднрд╛рд╕реА рд╕рд╛рдорд╛рди рдЦрд░реАрджрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрд╡рд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧреЗрдо рдореБрджреНрд░рд╛, рдирдП рд╕реНрддрд░, рдЖрджрд┐)ред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЦреЗрд▓реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрдм рд╕рд╡рд╛рд▓ рдЖрдкрдХреЗ рд╕реГрдЬрди рдкрд░ рдзрди рдЕрд░реНрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд░ рдЙрдарддрд╛ рд╣реИред
рдпрд╣ рдЖрд▓реЗрдЦ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдЧрд╛ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╡рд┐рдЬреНрдЮрд╛рдкрдиреЛрдВ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди-рдРрдк рдЦрд░реАрджрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
редрдЗрди-рдРрдк рд╡рд┐рдЬреНрдЮрд╛рдкрди
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк рдХрд┐рд╕реА рднреА рд╕рд╛рдЗрдЯ рдХреЛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП AdMob рдХреЛ рд▓реЗрдВред рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЖрдорддреМрд░ рдкрд░ рдРрд╕реА рдЪреАрдЬреЛрдВ рдХреЛ рд░реИрдкрд░ рдореЗрдВ рднрд░ рджреЗрддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рд╕рд╛рдЗрдЯ рдмрджрд▓рддреЗ рд╕рдордп, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдореБрдЭреЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рдирд╛ рдкрдбрд╝реЗрдЧрд╛ред рд╡рд┐рдЬреНрдЮрд╛рдкрди рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдЖрд╡рд░рдг рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
public interface AdsControllerBase { public void createView( RelativeLayout layout); public void show(boolean show); public void onStart(); public void onDestroy(); public void onResume(); public void onStop(); }
рдлрд┐рд░ AdMob рдХреЗ рд▓рд┐рдП рдЖрд╡рд░рдг рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:
Admob рдХреЗ рд▓рд┐рдП рдЖрд╡рд░рдг public class AdMobController implements AdsControllerBase, AdListener { private static final String ADMOB_ID = "___AdMob"; private static final int REQUEST_TIMEOUT = 30000; private AdView adView; private Context c; private long last; public AdMobController(Context activity, RelativeLayout layout) { this.c = activity; createView(layout); last = System.currentTimeMillis() - REQUEST_TIMEOUT; } public void createView(RelativeLayout layout) { if(PreferencesHelper.isAdsDisabled()) return; adView = new AdView((Activity) c, AdSize.BANNER, ADMOB_ID); RelativeLayout.LayoutParams adParams = new RelativeLayout.LayoutParams( RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); adParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); adParams.addRule(RelativeLayout.CENTER_HORIZONTAL); adView.setAdListener(this); layout.addView(adView, adParams); adView.loadAd(new AdRequest()); }
рдлрд┐рд░ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХрд╛ рдЖрд░рдВрдн рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧрд╛:
AdsControllerBase ads = new AdMobController(this, layout);
рдЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде, рдпрджрд┐ рд╕рд╛рдЗрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдмрд╕ рджреВрд╕рд░реЗ рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддреЗ рд╣реИрдВред рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреЗрд╡рд▓ application_ID рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬреЛ рдЖрдкрдХреЛ Admob рдПрдбрдорд┐рди рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред
рдЗрди-рдРрдк рдЦрд░реАрджрд╛рд░реА рдпрд╛ рдЗрди-рдРрдк рднреБрдЧрддрд╛рди
рд╢реЙрдкрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, IMarketBillingService.aidl рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣
SDK рдХреЗ рд╕рд╛рде
/ user / android-sdk-linux / extras / google / play_billing рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ
рдирд┐рд╣рд┐рдд рд╣реИ ред рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ com.android.vending.billing рдкреИрдХреЗрдЬ рдореЗрдВ рдбрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛ред
рдЖрдк рдпрд╣рд╛рдБ рдЦрд░реАрдж рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдЦрд░реАрдж рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд, рд╡реЗ рдЬреЛ рдЦрд╛рддреЗ рд╕реЗ рдмрдВрдзреЗ рд╣реИрдВ рдФрд░ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рдЦрд░реАрдж рд╕рдХрддреЗред рдпрджрд┐ рдЖрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣рдЯрд╛рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╕реЗ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЦрд░реАрджрд╛рд░реА рдХреЛ рдмрд╣рд╛рд▓ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХреЛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЦрд░реАрдж рдХреЗ рдмрд╛рдж, рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЕрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдпрд╣ рдЕрдиреНрдп рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рднреА рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ: рдпрджрд┐ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреЗ рдЦрд╛рддреЗ рдХреЗ рддрд╣рдд рдХрд┐рд╕реА рдЕрдиреНрдп рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЕрдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ AndroidManifest.xml рд╕реЗ рдЕрдиреБрдорддрд┐ рд▓реЗрдиреА рд╣реЛрдЧреА:
<рдЙрдкрдпреЛрдЧ-рдЕрдиреБрдорддрд┐ Android: рдирд╛рдо = "com.android.vending.BILLING" />
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдФрд░ рдПрд╕рдбреАрдХреЗ рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрд╣реБрдд рдорджрдж рдХрд░рддрд╛ рд╣реИред
рдПрдВрдбреНрд░реЙрдЗрдб рдорд╛рд░реНрдХреЗрдЯ рдкрд░ рдПрдХ рдЦрд╛рддреЗ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рддреЗ рд╕рдордп рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рдЖрд╡реЗрджрди рдореЗрдВ рдХреБрдВрдЬреА - PublicKey рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ
IabHelper
рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ рдФрд░ рдЖрд░рдВрдн рдХрд░реЗрдВред рдпрджрд┐ рд╕рдлрд▓ рд╣реЛ, рддреЛ рдЦрд░реАрдж рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
mGotInventoryListener
рдЦрд░реАрдж рдмрд╣рд╛рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реНрд░реЛрддрд╛ рд╣реИред
рдЕрдм, рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЦрд░реАрдж рдХреЛ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
private void buy(){ if(!PreferencesHelper.isAdsDisabled()){ String payload = ""; mHelper.launchPurchaseFlow(this, SKU_ADS_DISABLE, RC_REQUEST, mPurchaseFinishedListener, payload); } }
SKU_ADS_DISABLE - рдЙрддреНрдкрд╛рдж рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ Google Play рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдореЗрдВ рдмрдирд╛рдпрд╛ рдерд╛ред
mPurchaseFinishedListener
- рд╢реНрд░реЛрддрд╛:
рдпрд╣ рд╕рддреНрдпрд╛рдкрди рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрд▓рдЧ рд╕реЗ рдмрд╛рдд рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╣реИ:
boolean verifyDeveloperPayload(Purchase p) { String payload = p.getDeveloperPayload(); return true; }
рдЕрдм рдЦрд░реАрдж рдХрд╛ рдХреЛрдИ рдЪреЗрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ, рдЖрдкрдХреЛ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЛ рдЙрд╕ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдЦрд░реАрджрд╛рд░реА рдЕрдиреБрд░реЛрдз рдореЗрдВ рднреЗрдЬрд╛ рдерд╛ред рдЖрдкрдХреЛ рдЗрд╕реЗ рдЕрдкрдиреЗ рддреГрддреАрдп-рдкрдХреНрд╖ рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╛рдВрдЪрдирд╛ рд╣реЛрдЧрд╛ред рдЖрдорддреМрд░ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдпрд╛ рдСрдлрд▓рд╛рдЗрди рдЧреЗрдо рдХреЗ рд▓рд┐рдП рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдСрдирд▓рд╛рдЗрди рдЧреЗрдо рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рдореВрд▓ рд░реВрдк рд╕реЗ, рд╕рдм рдХреБрдЫ, рдЕрдм рдЬрдм рдЖрд╡реЗрджрди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рдПрдЧреА (рдЬрд╣рд╛рдВ рд╣рдордиреЗ рдЗрд╕реЗ рд╕рд╣реЗрдЬрд╛ рд╣реИ, рдХрд┐ рд╣рдордиреЗ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рд╣реИ):
PreferencesHelper.loadSettings(this);
рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЕрдм рд╡рд┐рдЬреНрдЮрд╛рдкрди рдирд╣реАрдВ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЦрд░реАрджрд╛рд░реА рдкрд░реАрдХреНрд╖рдг
рдЕрдм рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдХрд╛рдлреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЖрдк .apk рдХреЛ рдЕрд▓реНрдлрд╛ / рдмреАрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрд▓реЛрдб рдФрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк рдПрдХ рд╕рдореВрд╣ рдХреЛ Google+ рдкрд░ рдЕрд╕рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХреЗрдЧрд╛ред рдпрджрд┐ рдЖрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдПрдХ рдЕрд▓реНрдлрд╛ рдпрд╛ рдмреАрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдмрд╛рдЬрд╛рд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрдЧрд╛, рдХреЗрд╡рд▓ рдЗрд╕ рд╕рдореВрд╣ рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрдЧреАред

рдкрд░реАрдХреНрд╖рд╛рд░реНрдереА рдЦрд░реАрджрд╛рд░реА рдХрд░ рд╕рдХреЗрдВрдЧреЗред рдкреИрд╕реЗ рдХрдореАрд╢рди рдХреЗ рдмрд┐рдирд╛ рдбреЗрдмрд┐рдЯ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ рдФрд░ рдЦрд░реАрдж рдХреЗ 15 рдорд┐рдирдЯ рдмрд╛рдж рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рддреЛ рдЪрд┐рдВрддрд╛ рдордд рдХрд░реЛред рд▓реЗрдХрд┐рди рдЖрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗ рдпрджрд┐ рдЖрдкрдХрд╛ рдЦрд╛рддрд╛ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдФрд░ рдкреНрд░рдХрд╛рд╢рдХ рдХрд╛ рдЦрд╛рддрд╛ рд╕рдорд╛рди рд╣реИ / /
рдЖрдк
рдЬреАрдердм рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред