Название акции
Москва и область
Выберите ваш город
- Москва, Пр-т Буденного, д51,корп.4,пом 2
- Москва ул. Святоозерская д.16 пом.21
- Москва, Аэропорт Внуково
- Москва, ул. Новокосинская, д.17, корп.7
- Москва, Дмитровское шоссе 124 А,пом.11
- Москва, ул. Твардовского д. 12 к. 2
- Москва, ул. 16-я Парковая, д.45
- Москва, ул. Столетова д. 7
- Москва, ул. Элеваторная д.12 к.1 с. 2
- Москва, ул. Богородский вал д. 6 к. 2
- Москва, ул. Кусковская д. 1
- Москва,п. Первомайское д.Ивановское,ул.Семёна Гордого,д.1
- Москва,ул. Гвардейская 14 пом.2
- Москва,Погонный проезд, 25
- Ленинградский проспект д. 80, корп.17
- д.Раздоры,ул.Липовой Рощи,д.1,корпус 4
- Москва, ул. Муравская, 38к2
- Москва, Проезд Шипиловский, 47
- Москва, ул. Краснопрудная д.1
- Москва, ул. Наташи Ковшовой д. 25 эт. 1 пом. 6
- Москва Шелепихинская наб. д. 14 пом. 1
- Москва, ул. Воротынская д. 16
- Москва, п. Сосенское, б. Веласкеса д. 5 к. 1
- Москва,ул.Лухмановская,д.8
- Москва, ул. Ясногорская, дом 7А
- Москва, ул. Халтуринская, д. 15
- Москва, ул. Бутырская д. 84
- Москва,ул.Шоссейная,д.39 пом.2
- Балашиха, пр-кт Ленина д. 61
- Балашиха, ул. Бояринова д. 13 пом. 13
- Балашиха, ш. Энтузиастов 54А
- Верея, ул. Ленинская д. 12
- с.Молоково, ул.Красная Слобода, д. 125/1
- Видное, б-р Зеленые аллеи д. 9 пом 432
- с.Молоково, Солнечный проезд, д.6, пом.12
- п.Володарского,ул.Текстильная,д.2,кв.99
- Видное,проспект Ленинского Комсомола,д.9А
- Волоколамск, пер. Ново-Солдатский, д.5
- Якотское, с.Жестылёво, 35А.
- Долгопрудный, Старое Дмитровское шоссе, д. 11
- с.Домодедово,Бульвар Строителей 3
- Домодедово, Каширское шоссе,29
- Домодедово, мкр. Западный, ул. Дружбы, д. 6 к. 1, пом. 1
- Домодедово, ул. Текстильщиков д. 41Б пом. 8
- Балашиха, мкр. Железнодорожный, ул. Пролетарская д. 50Б к1
- д. Голубое, ул. Родниковая, строение 4Б
- Королёв, ул. Фрунзе д. 4
- Королёв, пр-кт Королёва д. 5Д
- Котельники,мкр.Новые Котельники,д.6,пом.02
- п.Нагорное, дом 8А, 1 этаж, помещение 6
- Красноармейск мкр.Северный 5а
- Красногорск, улица Дачная, дом 11А
- д. Сабурово, ул. Луговая д.1 стр. 1
- д.Путилково,ул.Новотушинская,д.2,пом.14
- Красногорск, Красногорский бульвар д. 25
- Люберцы, ул. Весенняя д. 12
- Можайск ул. Московская д.50
- Можайск ул. 1я Железнодорожная д. 53
- Мытищи, ул. Юбилейная д. 6 пом. 16
- Мытищи,д.Шолохово,ул.Юности,д.2,пом.IV
- г.п Селятино,ул.Больничная,стр.117Б
- Нахабино, улица Белобородова, дом 8, секция 3, корпус 10
- с.Кудиново, ул. Центральная уч. 15А, пом. 22
рп Обухово, ул.Ленина,42- Одинцово, ул. Чистяковой, д. 26В
- с.Немчиновка,Советский пр-кт,д. 104,пом.9
- Одинцово, Мошайское ш. 114
- Одинцово, ул.Союзная д. 1 а . пом 6
- Одинцово,ул.Вокзальная 39
- Одинцово,ул.Северная,д.5,к.2
- Павловский Посад, ул. Герцена д. 1А
- д. Кузяево, д. 85А/3
- Реутов ул. Комсомольская д.14 ст.001 оф.1
- Тучково, ул. Советская 22 стр. 1 корп.1
- Тучково, ул.Лебеденко, д.21, пом.1
- Сергиев Посад,ул.Дружбы,д.15 «В»
- д.Новая, здание 38 помещение 6
- дер. Горчаково, ул. Школьная д. 1 А, пом. 32
- с. Трубино, ул. Фабричная 54/1
- рп.Уваровка, Привокзальная пл, д.10
- Фрязино ул.Советская д.10А пом. 1001
- г. Химки, мкрн. Новогорскк 1-й мкрн, дом 2
- Химки, мкр. Новогорск, ул. Ивановская 2Б
- Химки, ул. Совхозная д. 17 к. 2
- Чехов, ул.Весенняя,д.29,пом.1
- Чехов,Территория Губернский Ряд 2/5
- Шатура, д.Слобода,дом 1 В
- г. Шатура, ул. Большевик, д. 19
- п. Заповедный парк 2, ул. Грибная 1, пом. 1
- Электрогорск, ул. Советская 36Б
- Электросталь, ул. Захарченко Д.8, пом. 1
Астраханская область
Выберите ваш город
Белгородская область
Выберите ваш город
Брянская область
Выберите ваш город
Владимирская область
Выберите ваш город
Вологодская область
Выберите ваш город
Воронежская область
Выберите ваш город
Выберите ваш город
Забайкальский край
Выберите ваш город
Ивановская область
Выберите ваш город
Иркутская область
Выберите ваш город
- Ангарск, 73 квартал, дом 7, помещение 50
- Ангарск,258 квартал стр. 298
- Братск,ул.Возрождения 36,пом.1001
- Маркова, Иркутский район, квартал Стрижи, дом 10
- Иркутск, пер. Академика Алексея Окладникова, д. 11
- Иркутский р-н, р.п. Маркова ул. Южная д. 17
- Тайшет, ул. Гагарина 96Б/2
- Тулун, п.Стекольный, д.51, пом.66
- Тулун, ул. Жданова, д.13
- р.п. Мишелевка, ул. Сибирская д. 2
- пос. Средний. Ул. ДОС № 11
- Усть-Илимск, пр. Мира, д.34, н.п. 2
- Усть-Кут, ул.Речников, д.38 пом.103
Камчатский край
Выберите ваш город
Карачаево-Черкесская Республика
Выберите ваш город
Кемеровская область
Выберите ваш город
Кировская область
Выберите ваш город
Костромская область
Выберите ваш город
Краснодарский край
Выберите ваш город
- Анапа, ул. Толстого д. 130 к. 1
- Краснодар, ул.Покрышкина д.4/9
- Краснодар, ул. Восточно-Кругликовская, д. 28/1
- Краснодар,ул.Командорская,д.5,корпус 1,пом.42-45
- Краснодар, ул.Колхозная, д.63, кв.59
- Новороссийск, Анапское шоссе, д. 41Г
- Новороссийск, с. Цемдолина, ул.8-я щель, д.32 В
- Новороссийск,ул.Бориса Пупко,дом 5,пом.3
- Сочи, ул.О.Кошевого дом,1
- Сочи,ул. Дивноморская в районе дома №17А
- Хадыженск, ул. Горького 17Д
Красноярский край
Выберите ваш город
Ленинградская область
Выберите ваш город
- п. Сосново, ул. Никитина 6, пом. 1
- Санкт-Петербург, Дунайский проспект, д.7, к.7
- Санкт-Петербург, Варшавская ул, д 6 к 2 стр 1
- Санкт-Петербург,ул.Ленсовета,д 13,литера А,помещение 2-Н
- Санкт-Петербург,Кондратьевский проспект д.68.корп.4
- Санкт-Петербург, ул. Малая Митрофаньевская д.5 к. 1 п.1
Новосибирская область
Выберите ваш город
- Новосибирск, ул.Дуси Ковальчук, д.179/4
- Новосибирск, ул. Кошурникова д.33, этаж 1
- Новосибирск, ул. Есенина, дом 31/2, этаж
- Новосибирск,ул.Дуси Ковальчук,д.238,1-й этаж
- Новосибирск,ул.Владимира Заровного,д. 40
Оренбургская область
Выберите ваш город
- с.Пилюгино ул. Чапаевская,д.60
- Бузулук, 1й микрорайон 5Г
- Оренбург, Пос.Им.Куйбышева, ул. Ветеранов труда,45/1
- Оренбург, ул. Поляничко, дом 10, офис 7
- п Саракташ, ул Партизанская/Крупская, 9/65
- Оренбург, Ул. Уральская 2/11 пом. 4.1
Пензенская область
Выберите ваш город
Пермский край
Выберите ваш город
Приморский край
Выберите ваш город
Республика Адыгея
Выберите ваш город
Республика Башкортостан
Выберите ваш город
- Белебей,ул. Им.В.И.Ленина,д.40
- с.Буздяк,ул.Комсомольская,дом No1
- Кумертау, ул. Карла Маркса д. 21 пом. 4
- Стерлитамак, ул.Строителей, 65
- с.Мариинский, ул.Хвойная, д.18
- Уфа, ул.Максима Горького, д.52, помещ.32-39
- Уфа, ул. Валерия Лесунова д. 8
Республика Бурятия
Выберите ваш город
Республика Дагестан
Выберите ваш город
Республика Ингушетия
Выберите ваш город
Республика Карелия
Выберите ваш город
Республика Крым
Выберите ваш город
Республика Марий Эл
Выберите ваш город
Республика Саха-Якутия
Выберите ваш город
Республика Татарстан
Выберите ваш город
- Казань ул Московская д 25/29 пом. 1001
- Казань, пр-т А. Камалеева 34, 1106
- Казань, ул.Галимджана Баруди, д.16, пом. 1003
- Казань, ул.Даурская, д.23, пом.1020
- Набережные Челны, проспект Мира, д.33Б, пом.1001
- Нижнекамск,ул.Бызова,д.20А,пом.5
- Нижнекамск, ул.Студенческая, д.48а, пом.4Н
Ростовская область
Выберите ваш город
- Ростов-на-Дону, Береговая 6 А
- Ростов-на-дону, пер. Братский, 58/4
- Ростов-на-Дону,ул.Красноармейская,38/73,пом. КВ. 57
- Ростов-на-Дону,ул.Вересаева,д.101/6,стр.2,стр.2,оф.1
- Ростов-на-Дону, пер. Доломановский д. 163
- Сальск, ул. Павлова д. 9
- Таганрог, Мариупольское шоссе, 11-а, цоколь этаж 1
- г. Таганрог, ул. Ленина, д. 226-5, 1й этаж
- с.Николаевка,ул.Ленина,309-ф
Рязанская область
Выберите ваш город
Самарская область
Выберите ваш город
- Жигулевск, ул. Пушкина д. 14
- Самара, проспект Карла Маркса д.318
- Самара, ул. Дыбенко д. 120
- Самара,ул.Чернореченская,д.16А,кв.157
- Самара,ул.Гагарина,д.94
- Тольятти, ул.Севастопольская д.3
- Тольятти, ул. Космодемьянской д. 3
- Тольятти ул. Матросова д. 31А
Саратовская область
Выберите ваш город
Сахалинская область
Выберите ваш город
Ставропольский край
Выберите ваш город
Тамбовская область
Выберите ваш город
Тверская область
Выберите ваш город
Томская область
Выберите ваш город
- Томск,ул.Архитекторов,д.2
- Томск, Микрорайон Радонежский, ул. Трудовая д.22\1
- Томск, Микрайон «Северный парк», ул. Марины Цветаевой д. 3
- Томск,ул.Московский тракт,д.107
- Томск,ул. Льва Толстого,д.38/5 стр. 1
- г.Томск ул.Учебная,д.48
Тульская область
Выберите ваш город
Удмуртская республика
Выберите ваш город
Ульяновская область
Выберите ваш город
Хабаровский край
Выберите ваш город
Ханты-Мансийский автономный округ
Выберите ваш город
Челябинская область
Выберите ваш город
Чеченская Республика
Выберите ваш город
Чувашская республика
Выберите ваш город
Ямало-Ненецкий автономный округ
Выберите ваш город
Ярославская область
Выберите ваш город
Выберите аптеку
Название аптеки
Номер телефона
Адрес аптеки
Акции Facebook выросли после объявления о смене названия компании :: Новости :: РБК Инвестиции
Ребрендинг для Facebok — способ продемонстрировать, что компания — уже не просто одноименная соцсеть, но и владелец других сервисов и проектов. Под новым тикером — MVRS — бумаги будут торговаться с 1 декабря
Фото: Shutterstock
Глава Facebook Марк Цукерберг объявил на конференции Facebook Connect 2021 о смене названия компании на Meta. Таким образом, компания намерена ассоциироваться не только с одноименной социальной сетью, но и со всей «вселенной» продуктов, в числе WhatsApp, Instagram, Oculus и другими активами.
После объявления о смене названия акции компании выросли на 1,21%, с $318 до $321,81 к 21:25 мск, позже рост ускорился до 2,25% ($325,44). С 1 декабря бумаги компании будут торговаться под тикером MVRS.
В ходе презентации команда компании более детально познакомила аудиторию с проектами виртуальной реальности (VR) и дополненной реальности (AR), а Марк Цукерберг заявил, что «метавселенная» достигнет 1 млрд пользователей в течение десятилетия.
9 сентября Facebook провела презентацию умных очков Ray-Ban Stories. У этих очков есть две фронтальные 5-мегапиксельные камеры для съемки, микрофоны, мини-динамик и сенсорная панель, которая позволяет управлять воспроизведением музыки. Стоимость таких очков — $299. Пока их продажи открыты в США, Канаде, Великобритании, Ирландии, Италии и Австралии.
Аналитики понизили цели по акциям Facebook. Но потенциал роста еще великВ третьем квартале рекламная выручка Facebook выросла на 56% по сравнению с тем же периодом 2020 года, до $28,58 млрд. Общая выручка во втором квартале также увеличилась на 56%, до $29,07 млрд. Чистая прибыль выросла на 101%, до $10,39 млрд. Количество ежедневных пользователей составило $1,91 млрд на июнь 2021 года, что на 7% больше, чем в 2020 году.
Компания также объявила, что с четвертого квартала начнет отдельно публиковать результаты подразделения виртуальной и дополненной реальности (Facebook Reality Labs, или FRL). В компании ожидают, что инвестиции в Facebook Reality Labs сократят общую операционную прибыль компании в 2021 году примерно на $10 млрд
Анализ событий, «распаковка» компаний, портфели топ-фондов — в нашем YouTube-канале
Краткое обозначение акций компании, валюты или товара на бирже. Чаще всего состоит из букв, использованных в названии компании. Реже — из цифр (на азиатских биржах). В тикерах облигаций указаны базовые характеристики ценной бумаги — обычно цифрами. Тикеры валют состоят из трех букв. Первые две обозначают страну, а третья — первая буква в названии валюты (например, RUR — это российский рубль, а USD — доллар США). Инвестиции — это вложение денежных средств для получения дохода или сохранения капитала. Различают финансовые инвестиции (покупка ценных бумаг) и реальные (инвестиции в промышленность, строительство и так далее). В широком смысле инвестиции делятся на множество подвидов: частные или государственные, спекулятивные или венчурные и прочие. ПодробнееАвтор
Геворг Шахназарян
Уважаемые клиенты!
Для Вас работает сервис «Единый центр поддержки клиентов», специалисты которого будут рады Вам помочь:
Мы стремимся к улучшению качества сервиса, поэтому для нас важно Ваше мнение. Мы ждем Ваших обращений и будем рады помочь Вам. С уважением, *При проведении Федеральных рекламных акций сети АЗС «Газпромнефть» |
Виды акций — полная классификация от простого к сложному
Практически каждый из нас знает, что такое акция. Однако далеко не все имеют представление о том, какие преимущества предоставляют акции своим владельцам. Между тем, акция – одна из наиболее распространённых бумаг, котируемых на фондовых рынках.
Первое в мире акционерное общество «ОСТ-ИНД» в 1606 году продавало свои акции по сто пятьдесят гульденов. В успех этого мероприятия мало кто верил, но со временем фондовый рынок получил популярность, и компании начали выпускать несколько видов акций.
Виды акций по форме выпуска
Классификация акций
До момента активного развития компьютерных технологий акционерные общества выпускали только бумажные акции. Их владельцы имели на руках ценные бумаги, подтверждающие право обладания. Такой вид акций выдавался покупателю в физической форме и носил название наличных акций. Выпуск таких бумаг осуществлялся типографией со специальной лицензией на бланках, оснащённых несколькими степенями защиты. На бумажных акциях, в обязательном порядке, указывалось:
- название акционерного общества;
- вид акции;
- дата выпуска и уникальный номер;
- номинальная стоимость;
- период оплаты дивидендов;
- особые условия пользования и пр.
В случае утери таких акций, их владельцу необходимо было заплатить определённую (в зависимости от номинала бумаг) сумму денег для восстановления.
Хранение бумажных акций не всегда удобно, особенно для акционеров, имеющих значительное количество ценных бумаг различных компаний. Поэтому с каждым годом начали набирать популярность акции второго типа – бездокументарные или электронные. Все сделки с ними проводятся только в электронном виде, они проще распределяются и контролируются.
Условно можно разделить типы акций на: документарные и бездокументарные:
- Отличительной чертой документарных акций является то, что их выпускают на бумаге. Такие акции в современном обществе – явление довольно редкое. Популярность их резко упала из-за неудобства обращения с ними. Да и выпуск таких акций порой может стоить владельцу дороже, чем их собственная стоимость. Так, ярким примером может служить ОАО ВТБ, стоимость акций которого составляет всего несколько копеек. Большинство акций на сегодняшний день выпускается в бездокументарном виде;
- Самыми распространёнными и, практически, единственными сейчас являются бездокументарные акции. Они гораздо удобнее в плане выпуска и обращения.
Зачем выпускают акции
Каждая компания стремится развивать свой бизнес. Это довольно затратный процесс, и, как правило, наступает момент, когда собственных средств для этого не хватает. Тогда-то компания и начинает выпускать акции своего предприятия.Выпуская акции, компания получает денежные средства для дальнейшего развития производства, закупки более современного оборудования, исследований. В будущем, если показатели компании растут, акционеры получают определённый процент от прибыли компании, который зависит от количества приобретённых акций.Чтобы удачно приобрести акции необходимо обладать аналитическим складом ума, чтобы правильно оценить возможности дальнейшего роста компании.
Первичный и вторичный рынок
Существует два рынка акций: первичный и вторичный.
Когда какая-то компания решает продать часть своего бизнеса, она выставляет свои акции на продажу. Обычно это не более 20% всех выпущенных акций, чтобы текущие собственники не потеряли возможность управлять корпорацией. В этом случае происходит сделка по типу: компания-покупатель.
- Это называется первичное размещение, или IPO.
Цену продажи назначает сам эмитент. После того, как IPO состоялось, акции попадают на вторичный рынок. Теперь сама компания уже не участвует в торгах. Сделки происходят только между рядовыми участниками рынка по типу: продавец-покупатель. Все акции, которые на текущий момент обращаются на бирже, находятся именно на вторичном рынке.
Если инвестор пожелает приобрести какие-либо акции, то покупать он их будет «с рук» инвестора, который обладал ими до этого и теперь решил продать. Какой-то амортизации акции при этом не претерпевают, и по большей части, нет разницы между бумагами, приобретенными на IPO или на вторичном рынке.
Именные акции
При необходимости постоянного отслеживания движения акций, акционерные общества выпускают ценные бумаги большого номинала, которые носят название именные. В именных акциях указываются все данные владельца, зарегистрированного в документации АО. Владелец таких акций сможет продать или подарить их только после уведомления акционерного общества.
Акции, выпускаемые небольшим номиналом и не требующие чёткого отслеживания, имеют анонимный характер и называются предъявительскими. Им можно продавать, дарить или просто передавать третьему лицу, что делает их схожими с денежными купюрами. Свободная передача автоматически подразумевает смену владельца.
Рекомендованные для вас статьи:Обыкновенные и привилегированные акции
Все акции делятся на два типа: обычные и привилегированные.
Разница между ними заключается в том, что обычные позволяют инвестору участвовать в голосованиях. Привилегированные, в свою очередь, отнимают у собственника право голоса, но гарантируют ему выплату дивидендов. Кроме того, собственники привилегированных акций при ликвидации бизнеса и банкротстве имеют преимущество перед держателями обычных акции в очереди за компенсациями.
Для того чтобы понять, какие дивиденды платит эмитент, необходимо проанализировать историю выплат в прошлом. Дело в том, что решение, выплатить дивиденды или нет, принимают сами акционеры.
Вполне может быть так, что эмитент принципиально не распределит свой доход, а инвестирует его в расширение бизнеса.
В таком случае возможен рост курсовой стоимости акций, но на деле это зависит только от профессионализма топ-менеджеров компании. Гарантийного дохода от роста бумаг в случае, когда прибыль не распределится, не будет.
Классификация акций по характеру дивидендов
От степени участия владельца ценных бумаг в управлении компанией и характера полученных дивидендов, акции разделяют на обыкновенные и привилегированные.
Среди обычного населения наиболее популярными являются обыкновенные акции.
Такими акциями владеет каждый седьмой житель Японии, каждый пятый США и каждый второй в Швеции.
Их владельцы получают доход от результатов работы компании и принимают активное участие в голосованиях на сборах акционеров. Но для того, чтобы иметь реальное право голоса, необходимо иметь пятьдесят процентов плюс одна акция, что практически неосуществимо для рядового гражданина.
Особыми свойствами обладают привилегированные акции:
- фиксированный размер дивидендов;
- обязательные выплаты.
Владельцы таких акций наиболее заинтересованы в развитии компании, и, как следствие – стоимость ценных бумаг повышается. Поэтому некоторые компании направляют чистую прибыль не на выплату дивидендов, а на масштабное развитие.
Ярким примером такого поведения может стать компания Яндекс. 2002 год был ознаменован колоссальной выплатой дивидендов в размере ста тысяч долларов. А на 2011 год руководство компании вообще не планировало выплату, зато в 2015 году сумма выплат составила полтора миллиона долларов.
Владельцы привилегированных акций всегда застрахованы от потери капитала в случае банкротства компании, т.к. расчёт по её долгам начинается именно с них. Тем не менее этот вид акций не даёт права голоса на собрании акционеров, а фиксированная величина выплат нивелирует возможность получения дополнительной прибыли в случае динамичного развития эмитента.
Лучшие брокеры для инвестиций в акции
- Evotrade
- Just2Trade
- R Trader
Брокер Evotrade предлагает более 2000 активов. Современная торговая платформа делает процесс покупки акций проще, чем заказ пиццы.
Здесь мы можете собрать внушительный портфель и зарабатывать не только на росте акций, но и дивидендов. Кроме ценных бумаг с NYSE и NASDAQ, у брокера есть огромное количество европейских и азиатских компаний, например, Nestle, Porsche, Ubisoft, Rolls-Royce, Sony. .., а также фьючерсы на энергоресурсы и сырьевые товары, фондовые индексы и другие.
Брокер регулируется ЦРОФР, предоставляет профессиональную торговую платформу и лучшие условия.
Минимальный депозит для открытия счета $250.
Сайт: Evotrade
Just2Trade — Международный брокер от ФИНАМ с европейской регистрацией. Здесь можно покупать более 30 000+ акций без статуса квалифицированного инвестора с более чем 20 бирж со всего мира и возможностью получать дивиденды.
Также среди акций есть более 2000 биржевых фондов и облигации.
Брокер регулируется FINRA, CySEC, MiFID и Банком России.
Минимальный депозит для открытия счета $500.
Cайт: Just2Trade
Брокер RoboForex работает более 10 лет и позволяет торговать акциями с 14 европейских стран и США. На платформе R Trader (+ есть и другие) доступно более 12 000 активов. Брокер регулируется IFSC и The Financial Commission, также имеет сертификацию Verify My Trade (VMT).
Внедрена программа страхования до 5 000 000 EUR. Получено более 10 наград, включая IAFT Awards, International Business Magazine Awards и другие. Компания является официальным спонсором BMW M Motorsport.
Сайт: RoboForex
Виды ценных бумаг по типу акционерного общества
Распределяемые только в определённом кругу акции носят название – акции закрытого акционерного общества. Их владельцами становятся либо учредители, либо сотрудники данной компании.В свободную продажу на рынок поступают акции открытого акционерного общества. Передача третьим лицам таких акций осуществляется без согласия собрания акционеров или руководства компании.
Классификация акций по способу распространения
Все виды акций разделяются ещё и по способу распространения, т.е. принципу продажи:
- открытая подписка;
- только среди учредителей;
- через специализированные учреждения.
Такие типы продажи распространяются, как на бумажные, так и на электронные виды акций. Причём в последние пять лет наибольшую популярность приобретает распространение через фондовые биржи, где есть возможность одновременного отслеживания курса акций сразу нескольких компаний.
Основные виды ценных бумаг
В зависимости от инвестиционной цели, имеющемуся ресурсу и индивидуальной склонности к риску выделяют несколько основных категорий акций:
- Blue Chip Stocks – голубые фишки;
- Penny Stocks – копеечные акции;
- Value Stocks – стоимостные акции;
- Growth Stocks – акции роста;
- Income Stocks – акции дохода;
- Cyclical Stocks – цикличные акции;
- Speculative Stocks – спекулятивные акции;
- Defensive Stocks – защитные акции.
Наибольшей популярностью среди инвесторов пользуются Blue Chip Stocks – или голубые фишки.
По таким акциям постоянно выплачиваются дивиденды независимо от прибыльности года, и все инвесторы получают небольшой, но стабильный доход, т.к. динамика стоимости этих ценных бумаг всегда положительная. Эмитенты категории – Proctor & Gamble, General Electric…
Продаваемые по цене ниже пяти долларов акции относятся к Penny Stocks. Низкая стоимость определяет их инвестиционную привлекательность для небольших компаний и частных лиц. Степень риска по таким акциям крайне велика, они могут, как стремительно вырасти, так и полностью обесцениться.
Компании, функционирующие в малопривлекательной для инвесторов отрасли, или испытывающие финансовые затруднения, предлагают невысокие по стоимости акции Value Stocks.
Компании, имеющие огромный потенциал роста, становятся эмитентом акций Growth Stocks. Вложенные средства в НИОКР, получают колоссальную прибыль, которую, практически полностью, реинвестируют в расширение бизнеса. Владельцы таких акций заинтересованы в долгосрочной стратегии приращения капитала, что полностью нивелирует текущий доход по данным ценным бумагам. Акции роста наиболее подвержены рыночным колебаниям стоимости, и котировки могут сильно варьироваться, что делает их нестабильными.
Инвесторы, рассчитывающие получать постоянный дивидендный доход вкладывают свои средства в акции Income Stocks. Эмитенты таких акций имеют стабильную прибыль от производства или продажи своих товаров.
Эмитенты сильно подверженные колебаниям циклической конъюнктуры рынка предлагают акции Cyclical Stocks. На котировки таких акций влияет общеэкономическая ситуация, которая способствует как росту, так и падению стоимости.
Анализ коэффициента Price Earnings Ratio (цена/прибыль) определяет стоимость акций Speculative Stocks. К данному типу относятся акции нового выпуска с показателем Доу-Джонса 50 – 100. Спрос, возникающий в результате возможности быстрого роста компании, вызывает ажиотаж и позволяет заработать капитал на удачной покупке или продаже.Компании по производству лекарственных препаратов или продуктов питания, становятся эмитентами акций Defensive Stocks, чья ценовая динамика остаётся стабильной при общем падении рынка. Любой инвестиционный портфель имеет этот тип акций в качестве страховки от резких колебаний стоимости остальных ценных бумаг.
Классификация акций по праву голоса
Во всех странах ведущие компании, стремясь не допустить вероятности скупки контрольного пакета, выпускают различные типы акций, которые ограничивают права акционеров, в том числе и в праве голосования. К таким акциям относят:
- неголосующие акции;
- подчинённые акции;
- акции с ограниченным правом голоса.
Первый тип акций пользуется популярностью у тех инвесторов, которых не привлекает возможность участия в управлении компанией, а интересует только стабильный доход, т.к стоимость таких акций ниже, чем голосующих, а дивиденд одинаков.
Ярким примером является компания FORD, которая ещё в 80-е годы выпустила два типа акций: с ограничением и без ограничения права голоса. В результате покупки учредители и директора компании получили девять процентов акций, что обеспечило им сорок процентов голосов.
Подчинённые акции наиболее популярны для американских компаний, которые выпускают два типа акций: A и B. При этом тип А даёт право одного голоса на одну акцию, а тип B – один голос на десять акций.
Ограниченные акции дают право голоса при наличии определённого количества акций. Рядовые акционеры не любят инвестировать капитал в такой тип ценных бумаг, т.к. разобраться во всех тонкостях полномочий крайне сложно.
Увеличение капитала от инвестирования в ценные бумаги
Покупка акций любого типа связана с получением прибыли. При этом каждый инвестор имеет в своём портфеле несколько типов акций для того, чтобы от одних получать дивиденды, а другие – продавать, зарабатывая на скачках стоимости. Все операции по купле – продаже акций осуществляется на фондовых биржах. На стоимость акции влияет прибыльность компании и темпы её роста.
Ярким примером стабильно дорожающих акций, являются ценные бумаги компании Apple.
За последнее столетие именно акции обеспечили наибольший доход вкладчикам всего мира.
Рекламная акция, название рекламной акции, название слогана, Naming.ru — разработка названия рекламной акции торговой марки.
Если реклама — это двигатель торговли, то рекламные акции — это турбомотор с нитро-ускорителем.
Дать хлесткое название рекламной акции — цель специалистов компании Naming.ru.
Задача рекламных акций всегда одна — стимуляция продаж и привлечение интереса к товару/услуге. Часто забывают, что заинтересованность потребителя начинается с интересного названия рекламной акции.
Названия рекламных акций имеют целый ряд особенностей: они должны содержать в себе определенный позыв, быть одновременно и названием и слоганом, а иногда сразу раскрывать механизм рекламной акции.
Заинтересованность потребителя в той или иной акции начинается отнюдь не в тот момент, когда он узнает о ее условиях. Первый, а значит, самый важный интерес вызывает название рекламной акции.
Очень важно не только создать привлекательные условия участия в вашей рекламной акции, но и дать ей привлекательное название. Лучшие названия рекламных акций надолго остаются в памяти и ещё долго работают на имидж фирмы и уровень ее продаж.
Специалисты компании Naming.ru гарантируют спокойный сон вам и неспокойный — вашим потребителям. Ведь им уже не терпится принять участие в вашей акции с названием от компании Naming.ru, не правда ли?
Пример нейминга
Вспомним рекламную акцию «ПроСОЧИсь», которая проходила в г. Сочи.
Вспомним «Спрайт ОХОТА» — удачную акцию с удачным названием. Подчеркнем, удачную настолько, что она имела продолжение.
McDonalds с его рекламной акцией «Азиатские недели» допустили сильную промашку. Широко разрекламированный «Чикен Самурай» в переводе c английского — это не только «куриный», но и «трусливый» самурай. Японское посольство, наверное, имело основания для ноты протеста.
Объявлен конкурс на лучшее название массовой патриотической акции, которая впервые состоится в Алтайском крае
Объявлен конкурс на лучшее название массовой патриотической акции, которая впервые состоится в Алтайском крае
Дата публикации: 14 июня 2018
22 июня 2018 года в день начала Великой Отечественной войны в краевой столице впервые состоится региональная акция в память о солдатах и офицерах, которые бесстрашно приняли вызов врага и ушли на войну.
По пути следования воинов, отправлявшихся на фронт, в Барнауле будет организовано массовое шествие. Исходной точкой станет военный комиссариат Алтайского края (ул. Пушкина, 40). В 10 утра здесь начнется митинг, продолжительностью 5 – 10 минут, затем колонна участников начнет движение по маршруту: ул. Пушкина, пл. Свободы, пр. Социалистический, Мемориал Славы. К Мемориалу Славы участники шествия возложат цветы, а из зажженных лампадок составят слово «ПОМНИМ».
Участие в акции примут воспитанники военно-патриотических и военно-спортивных клубов, кадеты, бойцы поисковых отрядов и объединений, представители казачества, специалисты по делам молодёжи и по социальной политике муниципальных образований и городских округов края, студенты алтайских вузов и ссузов, жители края, дети войны 40-х годов рождения на ретроавтомобилях.
Акция призвана показать участникам шествия чувства и эмоции, которые испытывали новобранцы, передать настроение того времени. В Алтайском крае она будет проводиться впервые. В связи с этим краевое управление спорта и молодежной политики Алтайского края объявляет конкурс на лучшее название акции. Победитель получит приз – набор книг об Алтайском крае от врио заместителя председателя Правительства Алтайского края Андрея Евгеньевича Щукина.
Варианты названий акции необходимо присылать на электронный адрес: sibreporter@mail. ru до 19 июня.
Справка:
Согласно № 32-ФЗ от 13 марта 1995 «О днях воинской славы и памятных датах России» 22 июня — День памяти и скорби — день начала Великой Отечественной войны (1941 год). В связи с памятными датами России, установленными статьей 1.1 настоящего Федерального закона, по инициативе государственных организаций и общественных объединений могут проводиться публичные мероприятия.
«Название действия» Грэма Грина
Грэм Грин отверг этот ранний роман, отказавшись разрешить его переиздание, и легко понять, почему. Во-первых, письмо дико неровное, а в некоторых местах и вовсе плохое. Во-вторых, сюжет был слишком быстро охвачен международными событиями. В этой книге, написанной между 1929 и 1930 годами, Грин изобразил диктатора, захватившего Трир в Германии и основавшего отдельное государство. (Этот заговор возник во время его пребывания в Трире в период, когда там в 1924 году существовало сепаратистское правительство, поддерживаемое французами. Изображение вымышленного немецкого диктатора не особо привлекло бы читателей, когда Гитлер пришел к власти в реальной жизни. Изображение еврейского поэта-революционера Йозефа Каппера также часто вызывает болезненные стереотипы, даже если персонаж оживает как личность в некоторых отрывках.Также, как и в его первом романе «Человек внутри», есть романтический сюжет, который довольно надутый и неубедительный. Молодой антигерой Оливер Чант, который едет в Трир, чтобы поддержать революцию, влюбляется в жену диктатора, Анн-Мари Демассенер (всегда называемую ее полным именем), и она тут же падает в его объятия.Слишком много места тратится на лихорадочные и повторяющиеся представления Чанта об их отношениях.
И еще … и еще. Это Грин, и, несмотря на шаткий сюжет и все плохо написанные отрывки, есть также некоторые другие разделы, которые написаны на полную мощность. Каждый раз, когда он описывает, как Чант встречается с другими потенциальными революционерами, когда они ютятся в задней части магазина и спорят о своих планах, история внезапно становится гораздо более реалистичной и убедительной, с оттенком его более поздних шпионских триллеров. Описание бега с оружием стало бы самостоятельным рассказом.
Есть также очень хорошо проработанная мрачная и мрачная последовательность убийства и отрывок, где Чант прячется в темной закоулке, что указывает путь к знаменитому описанию в «Третьем человеке», где впервые появляется Гарри Лайм. Описания Германии часто напоминают мне «М» и другие фильмы веймарской эпохи.
Я могу вспомнить несколько других выдающихся отрывков, в том числе пару абзацев, которые на самом деле не имеют ничего общего с основным романом, где Чант заходит в магазин, продающий шоколадных зайцев к концу времени, желая купить сладости для некоторых детей, которые слоняются поблизости снаружи — это так ярко видно, что я почти мог это видеть.Возможно, весь роман предназначен только для завершителей, но я рад, что прочитал его.
Синтаксис рабочего процесса для действий GitHub
О синтаксисе YAML для рабочих процессов
Файлы рабочего процесса используют синтаксис YAML и должны иметь расширение файла . yml
или .yaml
. Если вы новичок в YAML и хотите узнать больше, см. «Изучите YAML за Y минут».
Файлы рабочего процесса необходимо хранить в каталоге .github / workflows
вашего репозитория.
наименование
Имя вашего рабочего процесса.GitHub отображает названия ваших рабочих процессов на странице действий вашего репозитория. Если вы опустите name
, GitHub установит для него путь к файлу рабочего процесса относительно корня репозитория.
по
Обязательно . Имя события GitHub, запускающего рабочий процесс. Вы можете предоставить отдельную строку события
, массив событий
, массив
конфигурации
событий типов
или карту событий, которая планирует рабочий процесс или ограничивает выполнение рабочего процесса определенными файлами, тегами или ветка меняется.Список доступных событий см. В разделе «События, запускающие рабочие процессы».
Пример: использование одного события
на: нажмите
Пример: Использование списка событий
на: [push, pull_request]
Пример: использование нескольких событий с типами действий или конфигурацией
Если вам нужно указать типы активности или конфигурацию для события, вы должны настроить каждое событие отдельно. Вы должны добавить двоеточие (:
) ко всем событиям, включая события без конфигурации.
по:
толкать:
ветви:
- главный
pull_request:
ветви:
- главный
page_build:
выпускать:
типы:
- созданный
на. .types
Выбирает типы действий, при которых запускается рабочий процесс. Большинство событий GitHub запускаются более чем одним типом активности. Например, событие для ресурса выпуска запускается, когда выпуск опубликован
, не опубликован
, создан
, отредактирован
, удален
или предварительно выпущен
.Ключевое слово types
позволяет сузить круг действий, вызывающих выполнение рабочего процесса. Когда только один тип активности вызывает событие веб-перехватчика, ключевое слово types
не требуется.
Вы можете использовать массив событий типа
. Дополнительные сведения о каждом событии и типах их действий см. В разделе «События, запускающие рабочие процессы».
на:
выпускать:
типы: [опубликовано, создано, отредактировано]
При использовании событий push
и pull_request
вы можете настроить рабочий процесс для запуска в определенных ветвях или тегах.Для события pull_request
оцениваются только ветки и теги на базе. Если вы определите только тегов
или только веток
, рабочий процесс не будет запускаться для событий, влияющих на неопределенную ссылку Git.
Ветви Ветви
, - игнорировать теги
, .
и - игнорировать. Ключевые слова
принимают шаблоны глобусов, которые используют символы типа *
, **
, +
, ?
, !
и другие, чтобы соответствовать более чем одной ветке или имени тега.Если имя содержит какой-либо из этих символов, и вы хотите буквальное совпадение, вам нужно экранировать каждого из этих специальных символов с помощью \
. Дополнительные сведения о шаблонах глобусов см. В «Памятке по шаблонам фильтров».
Пример: включение веток и тегов
Шаблоны, определенные в ветвях , тегах
и ,
сравниваются с именем ссылки Git. Например, определение шаблона mona / octocat
в ветвях
будет соответствовать refs / Heads / mona / octocat
Git ref.Шаблон Release / **
будет соответствовать refs / Heads / Release / 10
Git ref.
по:
толкать:
ветви:
- главный
- 'мона / октокат'
- 'релизы / **'
теги:
- v1
- v1. *
Пример: игнорирование ветвей и тегов
Каждый раз, когда шаблон соответствует ветвям - игнорировать теги
или - игнорировать шаблон
, рабочий процесс не будет запущен.Шаблоны, определенные в ветках - игнорировать теги
и - игнорировать
, оцениваются по имени ссылки Git. Например, определение шаблона mona / octocat
в ветвях
будет соответствовать refs / Heads / mona / octocat
Git ref. Шаблон Release / ** - alpha
в ветке
будет соответствовать refs / Release / beta / 3-alpha
Git ref.
по:
толкать:
ветви игнорировать:
- 'мона / октокат'
- 'релизы / ** - альфа'
теги игнорировать:
- v1.*
Без учета ветвей и тегов
Вы можете использовать два типа фильтров, чтобы предотвратить запуск рабочего процесса при отправке и вытягивании запросов к тегам и ветвям.
-
ветвей
иливетки - игнорировать
- нельзя использовать обе ветвиветки - игнорировать фильтры
для одного и того же события в рабочем процессе. Используйте фильтрветвей
, когда вам нужно отфильтровать ветви на предмет положительных совпадений и исключить ветви.Используйте фильтрветки - игнорировать
, когда вам нужно только исключить имена ветвей. - Теги
теги - игнорировать
- нельзя использовать одновременно теги, теги
и- игнорировать фильтры
для одного и того же события в рабочем процессе. Используйте фильтртеги
, когда вам нужно отфильтровать теги на предмет положительных совпадений и исключить теги. Используйте фильтртеги - игнорировать
, когда вам нужно только исключить имена тегов.
Пример: использование положительных и отрицательных шаблонов
Вы можете исключить теги
и ветви
с помощью !
персонаж.Порядок, в котором вы определяете шаблоны, имеет значение.
- Соответствующий отрицательный шаблон (с префиксом
!
) после положительного совпадения исключает ссылку Git. - Соответствующий положительный шаблон после отрицательного совпадения снова будет включать ссылку Git.
Следующий рабочий процесс будет выполняться при отправке версий /10 выпусков
или / beta / mona
, но не для выпусков / выпусков 10-alpha
или / beta / 3-alpha
, потому что отрицательный шаблон ! Release / ** - альфа
следует положительной модели.
по:
толкать:
ветви:
- 'релизы / **'
- '! Release / ** - alpha'
на. .paths
При использовании событий push
и pull_request
вы можете настроить рабочий процесс для запуска, когда хотя бы один файл не соответствует пути - игнорируйте
или хотя бы один измененный файл соответствует настроенным путям
. Фильтры пути не оцениваются для нажатия на теги.
Пути игнорируют пути
и Ключевые слова
принимают шаблоны глобуса, которые используют подстановочные знаки *
и **
для соответствия более чем одному имени пути.Для получения дополнительной информации см. «Памятку по шаблону фильтра».
Пример: игнорирование путей
Когда все имена путей соответствуют шаблонам в paths-ignore
, рабочий процесс не будет запущен. GitHub оценивает шаблоны, определенные в paths-ignore
, по имени пути. Рабочий процесс со следующим фильтром пути будет выполняться только для событий push
, которые включают по крайней мере один файл вне каталога docs
в корне репозитория.
по:
толкать:
пути-игнорировать:
- 'документы / **'
Пример: включение путей
Если хотя бы один путь соответствует шаблону в фильтре путей
, рабочий процесс выполняется.Чтобы запускать сборку в любое время, когда вы отправляете файл JavaScript, вы можете использовать шаблон подстановки.
по:
толкать:
пути:
- '**. js'
Исключение путей
Вы можете исключить пути, используя два типа фильтров. Вы не можете использовать оба этих фильтра для одного и того же события в рабочем процессе.
-
игнорирование путей
- используйте фильтригнорирование путей
, когда вам нужно только исключить имена путей. -
путей
- Используйте фильтрпутей
, когда вам нужно отфильтровать пути на предмет положительных совпадений и исключить пути.
Пример: использование положительных и отрицательных шаблонов
Вы можете исключить путей
с помощью !
персонаж. Порядок, в котором вы определяете шаблоны, имеет значение:
- Соответствующий отрицательный шаблон (с префиксом
!
) после положительного совпадения исключает путь. - Соответствующий положительный образец после отрицательного совпадения снова будет включать путь.
Этот пример запускается каждый раз, когда событие push
включает файл в каталоге подпроекта
или его подкаталогах, если только файл не находится в каталоге sub-project / docs
.Например, нажатие, которое изменило подпроект / index.js
или подпроект / src / index.js
, вызовет запуск рабочего процесса, но нажатие изменит только подпроект / docs / readme.md
не буду.
по:
толкать:
пути:
- 'подпроект / **'
- '! sub-project / docs / **'
Git diff сравнения
Примечание: Если вы отправляете более 1000 коммитов или если GitHub не генерирует различие из-за тайм-аута, рабочий процесс всегда будет выполняться.
Фильтр определяет, следует ли запускать рабочий процесс, оценивая измененные файлы и запуская их по пути - игнорируя пути
или пути
. Если файлы не изменены, рабочий процесс не запустится.
GitHub генерирует список измененных файлов с использованием двухточечных различий для нажатий и трехточечных различий для запросов на вытягивание:
- Запросы на извлечение: Различия с тремя точками представляют собой сравнение между самой последней версией ветки темы и фиксацией, в которой ветка темы последний раз была синхронизирована с базовой ветвью.
- Подталкивает к существующим ветвям: Двухточечный дифференциал сравнивает верхний и нижний SHA напрямую друг с другом.
- Отправляет в новые ветки: Разница в две точки по отношению к родительскому элементу предка самой глубокой нажатой фиксации.
Различия ограничены 300 файлами. Если есть измененные файлы, которые не соответствуют первым 300 файлам, возвращаемым фильтром, рабочий процесс не будет запущен. Возможно, вам потребуется создать более конкретные фильтры, чтобы рабочий процесс запускался автоматически.
Дополнительные сведения см. В разделе «Сравнение ветвей в запросах на вытягивание».
on.workflow_call.inputs
При использовании ключевого слова workflow_call
можно дополнительно указать входные данные, которые передаются в вызываемый рабочий процесс из рабочего процесса вызывающего. Входные данные для многоразовых рабочих процессов указываются в том же формате, что и входные данные действий. Дополнительные сведения о входных данных см. В разделе «Синтаксис метаданных для действий GitHub». Дополнительные сведения о ключевом слове workflow_call
см. В разделе «События, запускающие рабочие процессы.«
В дополнение к стандартным входным параметрам, которые доступны, для on.workflow_call.inputs
требуется параметр типа
. Для получения дополнительной информации см. on.workflow_call.
.
Если параметр по умолчанию
не установлен, значение по умолчанию для ввода - false
для логического значения, 0
для числа и ""
для строки.
Внутри вызываемого рабочего процесса вы можете использовать контекст входов и
для ссылки на вход.
Если рабочий процесс вызывающего абонента передает ввод, который не указан в вызываемом рабочем процессе, это приводит к ошибке.
Пример
по:
workflow_call:
входы:
имя пользователя:
description: 'Имя пользователя, переданное из рабочего процесса вызывающего абонента'
по умолчанию: 'john-doe'
требуется: ложь
тип: строка
вакансии:
print-username:
работает: ubuntu-latest
шаги:
- name: распечатать имя входа в STDOUT
run: echo Имя пользователя - $ {{inputs.имя пользователя }}
Для получения дополнительной информации см. «Повторное использование рабочих процессов».
on.workflow_call. .type
Требуется, если ввод задан для ключевого слова on.workflow_call
. Значение этого параметра - строка, определяющая тип данных ввода. Это должно быть одно из следующих значений: логическое
, число
или строка
.
on.workflow_call.secrets
Карта секретов, которые можно использовать в вызванном рабочем процессе.
Внутри вызываемого рабочего процесса вы можете использовать контекст секретов
для ссылки на секрет.
Если рабочий процесс вызывающего абонента передает секрет, который не указан в вызываемом рабочем процессе, это приводит к ошибке.
Пример
по:
workflow_call:
секреты:
токен доступа:
description: 'Токен передан из рабочего процесса вызывающего абонента'
требуется: ложь
вакансии:
пароль-секрет-к-действию:
работает: ubuntu-latest
шаги:
- name: передать полученный секрет в действие
использует:./.github/actions/my-action@v1
с участием:
токен: $ {{secrets.access-token}}
on.workflow_call.secrets.
Строковый идентификатор, связанный с секретом.
on.workflow_call.secrets. .required
Логическое значение, указывающее, должен ли предоставляться секрет.
on.workflow_dispatch.inputs
При использовании события workflow_dispatch
можно дополнительно указать входные данные, которые передаются в рабочий процесс.Входные данные диспетчеризации рабочего процесса указываются в том же формате, что и входные данные действий. Дополнительные сведения о формате см. В разделе «Синтаксис метаданных для действий GitHub».
по:
workflow_dispatch:
входы:
logLevel:
описание: 'Уровень журнала'
требуется: правда
по умолчанию: 'предупреждение'
теги:
description: 'Теги тестового сценария'
требуется: ложь
Запущенный рабочий процесс получает входные данные в контексте github.event.inputs
.Для получения дополнительной информации см. «Контексты».
по графику
Вы можете запланировать запуск рабочего процесса в определенное время в формате UTC, используя синтаксис POSIX cron. Запланированные рабочие процессы выполняются на последней фиксации в стандартной или базовой ветке. Самый короткий интервал, в котором вы можете запускать запланированные рабочие процессы, - один раз в 5 минут.
В этом примере рабочий процесс запускается каждый день в 5:30 и 17:30 UTC:
по:
расписание:
- cron: '30 5,17 * * * '
Дополнительные сведения о синтаксисе cron см. В разделе «События, запускающие рабочие процессы.«
разрешения
Вы можете изменить разрешения по умолчанию, предоставленные GITHUB_TOKEN
, добавляя или удаляя доступ по мере необходимости, так что вы разрешаете только минимально необходимый доступ. Для получения дополнительной информации см. «Аутентификация в рабочем процессе».
Вы можете использовать разрешения
либо в качестве ключа верхнего уровня, чтобы применить ко всем заданиям в рабочем процессе или внутри определенных заданий. Когда вы добавляете ключ разрешений в конкретное задание, все действия и запускаемые команды в этом задании, использующие GITHUB_TOKEN
, получают указанные вами права доступа.Для получения дополнительной информации см. Задания .
.
Доступные области и значения доступа:
разрешения:
действия: чтение | запись | нет
проверки: чтение | запись | нет
содержимое: читать | писать | нет
развертывания: чтение | запись | нет
id_token: чтение | запись | нет
проблемы: читать | писать | нет
обсуждения: читать | писать | нет
пакеты: чтение | запись | нет
запросы на вытягивание: чтение | запись | нет
репозиторий-проекты: читать | писать | нет
события безопасности: чтение | запись | нет
статусы: чтение | запись | нет
Если вы укажете доступ для любой из этих областей, все не указанные области будут иметь значение нет
.
Вы можете использовать следующий синтаксис для определения доступа для чтения или записи для всех доступных областей:
разрешения: все для чтения | все для записи
Вы можете использовать ключ permissions
для добавления и удаления разрешений на чтение для разветвленных репозиториев, но обычно вы не можете предоставить доступ на запись. Исключением из этого поведения является то, что пользователь-администратор выбрал Отправлять токены записи в рабочие процессы из опций запросов на вытягивание в настройках действий GitHub.Дополнительные сведения см. В разделе «Управление настройками действий GitHub для репозитория».
Пример
В этом примере показаны разрешения, устанавливаемые для GITHUB_TOKEN
, которые будут применяться ко всем заданиям в рабочем процессе. Всем разрешениям предоставляется доступ для чтения.
имя: «Мой рабочий процесс»
on: [push]
разрешения: читать все
вакансии:
...
ок.
Отображение
переменных среды, доступных для шагов всех заданий в рабочем процессе.Вы также можете установить переменные среды, которые доступны только для шагов одного задания или для одного шага. Для получения дополнительной информации см. Задания .
и jobs.
.
Если с одним именем определено несколько переменных среды, GitHub использует наиболее конкретную переменную среды. Например, переменная среды, определенная на шаге, переопределит переменные задания и рабочего процесса с тем же именем, пока шаг выполняется.Переменная, определенная для задания, переопределит переменную рабочего процесса с тем же именем, пока задание выполняется.
Пример
env:
СЕРВЕР: производство
по умолчанию
Карта
настроек по умолчанию, которые будут применяться ко всем заданиям в рабочем процессе. Вы также можете установить настройки по умолчанию, которые доступны только для работы. Для получения дополнительной информации см. Задания .
.
Если с одним именем определено несколько параметров по умолчанию, GitHub использует наиболее конкретные параметры по умолчанию.Например, параметр по умолчанию, определенный в задании, переопределит параметр по умолчанию, имя которого указано в рабочем процессе.
defaults.run
Вы можете предоставить по умолчанию shell
и параметры рабочего каталога
для всех запустить
шагов в рабочем процессе. Вы также можете установить настройки по умолчанию для запустить
, которые доступны только для задания. Для получения дополнительной информации см. Задания .
. В этом ключевом слове нельзя использовать контексты или выражения.
Если с одним именем определено несколько параметров по умолчанию, GitHub использует наиболее конкретные параметры по умолчанию. Например, параметр по умолчанию, определенный в задании, переопределит параметр по умолчанию, имя которого указано в рабочем процессе.
Пример
по умолчанию:
запустить:
оболочка: bash
рабочий каталог: скрипты
параллелизм
Параллелизм гарантирует, что одновременно будет выполняться только одно задание или рабочий процесс, использующие одну и ту же группу параллелизма.Группа параллелизма может быть любой строкой или выражением. Выражение может использовать только контекст github
. Для получения дополнительной информации о выражениях см. «Выражения».
Вы также можете указать параллелизм
на уровне задания. Для получения дополнительной информации см. Задания .
.
Когда параллельное задание или рабочий процесс помещается в очередь, если другое задание или рабочий процесс, использующие ту же группу параллелизма в репозитории, находятся в процессе выполнения, поставленное в очередь задание или рабочий процесс будет ожидающим
.Любое ранее отложенное задание или рабочий процесс в группе параллелизма будет отменено. Чтобы отменить любое текущее задание или рабочий процесс в той же группе параллелизма, укажите незавершенная отмена: true
.
Примеры: использование параллелизма и поведение по умолчанию
параллелизм: staging_environment
параллелизм: ci - $ {{github.ref}}
Пример: использование параллелизма для отмены любого выполняемого задания или запуска
параллелизм:
группа: $ {{github.head_ref}}
в процессе отмены: true
вакансий
Запуск рабочего процесса состоит из одного или нескольких заданий. По умолчанию задания выполняются параллельно. Для последовательного выполнения заданий можно определить зависимости от других заданий с помощью ключевого слова jobs.
.
Каждое задание запускается в среде выполнения, указанной в running-on
.
Вы можете запускать неограниченное количество заданий, пока не выходите за пределы рабочего процесса. Дополнительные сведения см. В разделах «Ограничения на использование и выставление счетов» для бегунов, размещенных на GitHub, и «О самодостаточных бегунах», где указаны ограничения на использование саморазмещаемых бегунов.
Если вам нужно найти уникальный идентификатор задания, выполняемого в рабочем процессе, вы можете использовать GitHub API. Для получения дополнительной информации см. «Задания рабочего процесса».
вакансий.
Создайте идентификатор для своей работы, присвоив ей уникальное имя. Ключ job_id
представляет собой строку, а его значение представляет собой карту данных конфигурации задания. Вы должны заменить
на строку, уникальную для объекта jobs
.
должен начинаться с буквы или _
и содержать только буквенно-цифровые символы, –
или _
.
Пример
В этом примере были созданы два задания, и их значения job_id
: my_first_job
и my_second_job
.
вакансий:
my_first_job:
имя: Моя первая работа
my_second_job:
имя: Моя вторая работа
вакансий. .name
Имя задания, отображаемое на GitHub.
вакансий. .needs
Обозначает все задания, которые должны успешно завершиться, прежде чем это задание будет запущено.Это может быть строка или массив строк. В случае сбоя задания все задания, которые в нем нуждаются, пропускаются, если только в заданиях не используется условное выражение, которое приводит к продолжению задания.
Пример: Требование успешного выполнения зависимых заданий
вакансий:
job1:
job2:
потребности: job1
job3:
потребности: [работа1, работа2]
В этом примере задание1
должно быть успешно завершено до начала задание2
, а задание3
ожидает завершения как задание1,
и задание2,
.
Задания в этом примере выполняются последовательно:
-
работа1
-
работа2
-
вакансия3
Пример: для успешного выполнения зависимых заданий не требуется
вакансий:
job1:
job2:
потребности: job1
job3:
если: $ {{всегда ()}}
потребности: [работа1, работа2]
В этом примере job3
использует условное выражение always ()
, поэтому оно всегда выполняется после завершения job1
и job2
, независимо от того, были ли они успешными.Для получения дополнительной информации см. «Выражения».
вакансий. .runs-on
Обязательно . Тип машины, на которой будет выполняться задание. Машина может быть бегуном, размещенным на GitHub, или самодостаточным.
Бегуны, размещенные на GitHub
Если вы используете бегун, размещенный на GitHub, каждое задание запускается в новом экземпляре виртуальной среды, указанной в , запускается на
.
Доступные типы бегунов, размещенных на GitHub:
Виртуальная среда | Ярлык рабочего процесса YAML | Банкноты |
---|---|---|
Windows Server 2022 [бета] | окна-2022 | На этикетке windows-latest в настоящее время используется образ бегуна Windows Server 2019. |
Windows Server 2019 | windows-последняя версия или windows-2019 | |
Windows Server 2016 [устарело] | окна-2016 | Выполните миграцию на Windows 2019 или Windows 2022. Дополнительные сведения см. В записи блога. |
Ubuntu 20.04 | ubuntu-последняя версия или ubuntu-20.04 | |
Ubuntu 18.04 | убунту-18.04 | |
macOS Big Sur 11 | macos-11 | На этикетке macos-latest в настоящее время используется образ бегуна macOS 10.15. |
macOS Catalina 10.15 | macos-последняя версия или macos-10.15 |
Примечание. Образы бета и устаревшие предоставляются «как есть», «со всеми неисправностями» и «по мере доступности» и исключаются из соглашения об уровне обслуживания и гарантии.Бета-изображения могут не подпадать под действие службы поддержки.
Пример
работает: ubuntu-latest
Дополнительные сведения см. В разделе «Виртуальные среды для бегунов, размещенных на GitHub».
Самостоятельные бегуны
Чтобы указать автономный бегун для вашей работы, настройте запускается на
в вашем файле рабочего процесса с размещенными на нем метками бегуна.
Все бегуны, работающие самостоятельно, имеют метку самообслуживания
. Использование только этого ярлыка позволит выбрать любого бегуна, размещенного на собственном хостинге.Чтобы выбрать бегунов, которые соответствуют определенным критериям, таким как операционная система или архитектура, предоставьте массив меток, который начинается с , локальный
(он должен быть указан первым), а затем включает дополнительные метки по мере необходимости.
Пример
продолжается: [самостоятельно, Linux]
Дополнительные сведения см. В разделах «О самостоятельных бегунах» и «Использование автономных бегунов в рабочем процессе».
вакансий. .permissions
Вы можете изменить разрешения по умолчанию, предоставленные GITHUB_TOKEN
, добавляя или удаляя доступ по мере необходимости, так что вы разрешаете только минимально необходимый доступ.Для получения дополнительной информации см. «Аутентификация в рабочем процессе».
Указав разрешение в определении задания, вы можете настроить другой набор разрешений для GITHUB_TOKEN
для каждого задания, если это необходимо. Кроме того, вы можете указать разрешения для всех заданий в рабочем процессе. Для получения информации об определении разрешений на уровне рабочего процесса см. разрешения
.
Доступные области и значения доступа:
разрешения:
действия: чтение | запись | нет
проверки: чтение | запись | нет
содержимое: читать | писать | нет
развертывания: чтение | запись | нет
id_token: чтение | запись | нет
проблемы: читать | писать | нет
обсуждения: читать | писать | нет
пакеты: чтение | запись | нет
запросы на вытягивание: чтение | запись | нет
репозиторий-проекты: читать | писать | нет
события безопасности: чтение | запись | нет
статусы: чтение | запись | нет
Если вы укажете доступ для любой из этих областей, все не указанные области будут иметь значение нет
.
Вы можете использовать следующий синтаксис для определения доступа для чтения или записи для всех доступных областей:
разрешения: все для чтения | все для записи
Вы можете использовать ключ permissions
для добавления и удаления разрешений на чтение для разветвленных репозиториев, но обычно вы не можете предоставить доступ на запись. Исключением из этого поведения является то, что пользователь-администратор выбрал Отправлять токены записи в рабочие процессы из опций запросов на вытягивание в настройках действий GitHub.Дополнительные сведения см. В разделе «Управление настройками действий GitHub для репозитория».
Пример
В этом примере показаны разрешения, устанавливаемые для GITHUB_TOKEN
, которые будут применяться только к заданию с именем stale
. Доступ для записи предоставляется для задач ,
и запросов на вытягивание,
областей. Все остальные области не будут иметь доступа.
вакансий:
несвежий:
работает: ubuntu-latest
разрешения:
вопросы: написать
pull-запросы: написать
шаги:
- использует: actions / stale @ v3
вакансий. .environment
Среда, на которую ссылается задание. Все правила защиты среды должны пройти, прежде чем задание, ссылающееся на среду, будет отправлено исполнителю. Для получения дополнительной информации см. «Использование сред для развертывания».
Вы можете предоставить среду только как среду с именем
или как объект среды с именем
и URL-адресом
. URL-адрес соответствует environment_url
в API развертывания. Дополнительные сведения об API развертывания см. В разделе «Развертывания.«
Пример использования одного имени среды
среда: staging_environment
Пример использования имени среды и URL-адреса
среда:
имя: production_environment
URL: https://github.com
URL-адрес может быть выражением и может использовать любой контекст, кроме контекста секретов и
. Для получения дополнительной информации о выражениях см. «Выражения».
Пример
среда:
имя: production_environment
url: $ {{шаги.step_id.outputs.url_output}}
заданий. .concurrency
Примечание: Если параллелизм задан на уровне задания, порядок не гарантируется для заданий или запусков этой очереди с интервалом в 5 минут.
Параллелизм гарантирует, что одновременно будет выполняться только одно задание или рабочий процесс, использующие одну и ту же группу параллелизма. Группа параллелизма может быть любой строкой или выражением. Выражение может использовать любой контекст, кроме контекста секретов и
.Для получения дополнительной информации о выражениях см. «Выражения».
Вы также можете указать параллелизм
на уровне рабочего процесса. Для получения дополнительной информации см. параллелизм
.
Когда параллельное задание или рабочий процесс помещается в очередь, если другое задание или рабочий процесс, использующие ту же группу параллелизма в репозитории, находятся в процессе выполнения, поставленное в очередь задание или рабочий процесс будет ожидающим
. Любое ранее отложенное задание или рабочий процесс в группе параллелизма будет отменено. Чтобы отменить любое текущее задание или рабочий процесс в той же группе параллелизма, укажите незавершенная отмена: true
.
Примеры: использование параллелизма и поведение по умолчанию
параллелизм: staging_environment
параллелизм: ci - $ {{github.ref}}
Пример: использование параллелизма для отмены любого выполняемого задания или запуска
параллелизм:
группа: $ {{github.head_ref}}
в процессе отмены: true
вакансий. .outputs
Отображение
выходных данных для задания. Выходы задания доступны для всех последующих заданий, которые зависят от этого задания.Для получения дополнительной информации об определении зависимостей заданий см. Задания .
.
Выходные данные задания представляют собой строки, а выходные данные задания, содержащие выражения, оцениваются на бегунке в конце каждого задания. Выходные данные, содержащие секреты, редактируются в средстве выполнения и не отправляются в GitHub Actions.
Чтобы использовать выходные данные задания в зависимом задании, вы можете использовать контекст , требующий
. Для получения дополнительной информации см. «Контексты».
Пример
вакансий:
job1:
работает: ubuntu-latest
выходы:
output1: $ {{шаги.step1.outputs.test}}
output2: $ {{steps.step2.outputs.test}}
шаги:
- id: step1
запустить: echo ":: set-output name = test :: hello"
- id: step2
запустить: echo ":: set-output name = test :: world"
job2:
работает: ubuntu-latest
потребности: job1
шаги:
- запустить: echo $ {{needs.job1.outputs.output1}} $ {{needs.job1.outputs.output2}}
вакансий. .env
Отображение
переменных среды, доступных на всех этапах задания.Вы также можете установить переменные среды для всего рабочего процесса или отдельного шага. Для получения дополнительной информации см. Задания env
и .
.
Если с одним именем определено несколько переменных среды, GitHub использует наиболее конкретную переменную среды. Например, переменная среды, определенная на шаге, переопределит переменные задания и рабочего процесса с тем же именем, пока шаг выполняется. Переменная, определенная для задания, переопределит переменную рабочего процесса с тем же именем, пока задание выполняется.
Пример
вакансий:
job1:
env:
FIRST_NAME: Мона
вакансий. .defaults
Карта
настроек по умолчанию, которые будут применяться ко всем этапам задания. Вы также можете установить настройки по умолчанию для всего рабочего процесса. Для получения дополнительной информации см. по умолчанию
.
Если с одним именем определено несколько параметров по умолчанию, GitHub использует наиболее конкретные параметры по умолчанию. Например, параметр по умолчанию, определенный в задании, переопределит параметр по умолчанию, имя которого указано в рабочем процессе.
заданий. .defaults.run
Предоставьте оболочку по умолчанию
и рабочий каталог
для всех , выполняющих
шагов в задании. В этом разделе нельзя использовать контекст и выражение.
Вы можете предоставить по умолчанию shell
и параметры рабочего каталога
для всех запускать
шагов в задании. Вы также можете установить настройки по умолчанию для запустить
для всего рабочего процесса. Для получения дополнительной информации см. заданий.defaults.run
. В этом ключевом слове нельзя использовать контексты или выражения.
Если с одним именем определено несколько параметров по умолчанию, GitHub использует наиболее конкретные параметры по умолчанию. Например, параметр по умолчанию, определенный в задании, переопределит параметр по умолчанию, имя которого указано в рабочем процессе.
Пример
вакансий:
job1:
работает: ubuntu-latest
значения по умолчанию:
запустить:
оболочка: bash
рабочий каталог: скрипты
вакансий. .if
Вы можете использовать условное обозначение if
, чтобы запретить выполнение задания, если условие не выполнено. Вы можете использовать любой поддерживаемый контекст и выражение для создания условного выражения.
Когда вы используете выражения в условном выражении if
, вы можете опустить синтаксис выражения ( $ {{}}
), потому что GitHub автоматически оценивает условное if
как выражение. Для получения дополнительной информации см. «Выражения».
вакансий. .steps
Задание содержит последовательность задач, называемых шагами ,
. Шаги могут запускать команды, запускать задачи установки или запускать действие в вашем репозитории, общедоступном репозитории или действие, опубликованное в реестре Docker. Не все шаги запускают действия, но все действия выполняются как шаг. Каждый шаг выполняется в своем собственном процессе в среде бегуна и имеет доступ к рабочей области и файловой системе. Поскольку шаги выполняются в собственном процессе, изменения переменных среды не сохраняются между шагами.GitHub предоставляет встроенные пошаговые инструкции по настройке и выполнению задания.
Вы можете выполнять неограниченное количество шагов, пока не выходите за пределы рабочего процесса. Дополнительные сведения см. В разделах «Ограничения на использование и выставление счетов» для бегунов, размещенных на GitHub, и «О самодостаточных бегунах», где указаны ограничения на использование саморазмещаемых бегунов.
Пример
имя: Приветствие от Моны
на: нажмите
вакансии:
моя работа:
имя: Моя работа
работает: ubuntu-latest
шаги:
- name: распечатать приветствие.
env:
MY_VAR: Привет! Меня зовут
FIRST_NAME: Мона
MIDDLE_NAME:
LAST_NAME: Octocat
запустить: |
echo $ MY_VAR $ FIRST_NAME $ MIDDLE_NAME $ LAST_NAME.
вакансий. .steps [*]. Id
Уникальный идентификатор шага. Вы можете использовать id
для ссылки на шаг в контексте. Для получения дополнительной информации см. «Контексты».
вакансий. .steps [*]. If
Вы можете использовать условное обозначение if
, чтобы предотвратить выполнение шага, если не выполнено условие. Вы можете использовать любой поддерживаемый контекст и выражение для создания условного выражения.
Когда вы используете выражения в условном выражении if
, вы можете опустить синтаксис выражения ( $ {{}}
), потому что GitHub автоматически оценивает условное if
как выражение.Для получения дополнительной информации см. «Выражения».
Пример: использование контекстов
Этот шаг выполняется, только если тип события — pull_request
, а действие события — неназначенный
.
шагов:
- имя: Мой первый шаг
если: $ {{github.event_name == 'pull_request' && github.event.action == 'unassigned'}}
run: echo Это событие представляет собой запрос на вытягивание, из которого был удален исполнитель.
Пример: использование функций проверки состояния
Мой шаг резервного копирования
запускается только в случае сбоя предыдущего шага задания.Для получения дополнительной информации см. «Выражения».
шагов:
- имя: Мой первый шаг
использует: octo-org / action-name @ main
- name: Мой резервный шаг
если: $ {{отказ ()}}
использует: actions/[email protected]
вакансий. .steps [*]. Name
Имя вашего шага, отображаемого на GitHub.
заданий. .steps [*]. Использует
Выбирает действие, которое будет выполняться как часть шага вашего задания. Действие — это многократно используемая единица кода.Вы можете использовать действие, определенное в том же репозитории, что и рабочий процесс, в общедоступном репозитории или в опубликованном образе контейнера Docker.
Мы настоятельно рекомендуем указать версию используемого действия, указав номер тега Git ref, SHA или Docker. Если вы не укажете версию, это может нарушить ваши рабочие процессы или вызвать непредвиденное поведение, когда владелец действия публикует обновление.
- Использование SHA фиксации выпущенной версии действия является самым безопасным с точки зрения стабильности и безопасности.
- Использование конкретной версии основного действия позволяет получать критические исправления и исправления безопасности, сохраняя при этом совместимость. Это также гарантирует, что ваш рабочий процесс по-прежнему будет работать.
- Использование ветки действия по умолчанию может быть удобным, но если кто-то выпустит новую основную версию с критическими изменениями, ваш рабочий процесс может сломаться.
Для некоторых действий требуются входные данные, которые необходимо установить с помощью ключевого слова с ключевым словом
. Просмотрите файл README действия, чтобы определить необходимые входные данные.
Действия — это файлы JavaScript или контейнеры Docker. Если действие, которое вы используете, является контейнером Docker, вы должны запустить задание в среде Linux. Для получения дополнительной информации см. на базе
.
Пример: использование версионных действий
шагов:
- использует: actions / checkout @ a81bbbf8298c0fa03ea29cdc473d45769f5
- использует: actions / checkout @ v2
- использует: actions/[email protected]
- использует: actions / checkout @ main
Пример: использование публичного действия
{owner} / {repo} @ {ref}
Вы можете указать ветку, ссылку или SHA в общедоступном репозитории GitHub.
вакансий:
my_first_job:
шаги:
- имя: Мой первый шаг
использует: actions / heroku @ main
- имя: Мой второй шаг
использует: actions/[email protected]
Пример: использование открытого действия в подкаталоге
{owner} / {repo} / {path} @ {ref}
Подкаталог в общедоступном репозитории GitHub в определенной ветке, ref или SHA.
вакансий:
my_first_job:
шаги:
- имя: Мой первый шаг
использует: действия / aws / ec2 @ main
Пример: использование действия в том же репозитории, что и рабочий процесс
./ путь / к / каталог
Путь к каталогу, содержащему действие в репозитории вашего рабочего процесса. Перед использованием действия необходимо проверить свой репозиторий.
вакансий:
my_first_job:
шаги:
- имя: Проверить репозиторий
использует: actions / checkout @ v2
- name: использовать локальное my-action
использует: ./.github/actions/my-action
Пример: использование действия Docker Hub
docker: // {image}: {tag}
Образ Docker, опубликованный в Docker Hub.
вакансий:
my_first_job:
шаги:
- имя: Мой первый шаг
использует: docker: // alpine: 3.8
Пример: использование реестра контейнера пакетов GitHub
docker: // {host} / {image}: {tag}
Образ Docker в реестре контейнеров GitHub Packages.
вакансий:
my_first_job:
шаги:
- имя: Мой первый шаг
использует: docker: //ghcr.io/OWNER/IMAGE_NAME
Пример: использование действия общедоступного реестра Docker
docker: // {host} / {image}: {tag}
Образ Docker в общедоступном реестре.В этом примере используется реестр контейнеров Google по адресу gcr.io
.
вакансий:
my_first_job:
шаги:
- имя: Мой первый шаг
использует: docker: //gcr.io/cloud-builders/gradle
Пример: использование действия внутри частного репозитория, отличного от рабочего процесса
Ваш рабочий процесс должен проверять частный репозиторий и ссылаться на действие локально. Создайте токен личного доступа и добавьте его в качестве зашифрованного секрета. Дополнительные сведения см. В разделах «Создание токена личного доступа» и «Зашифрованные секреты».«
Замените PERSONAL_ACCESS_TOKEN
в примере именем вашего секрета.
вакансий:
my_first_job:
шаги:
- имя: Проверить репозиторий
использует: actions / checkout @ v2
с участием:
репозиторий: octocat / my-private-repo
ссылка: v1.0
токен: $ {{secrets.PERSONAL_ACCESS_TOKEN}}
путь: ./.github/actions/my-private-repo
- имя: Запустить мое действие
использует: ./.github/actions/my-private-repo/my-action
вакансий. .steps [*]. run
Запускает программы командной строки с помощью оболочки операционной системы. Если вы не укажете имя
, имя шага по умолчанию будет соответствовать тексту, указанному в команде run
.
Команды по умолчанию выполняются с использованием оболочек без входа в систему. Вы можете выбрать другую оболочку и настроить оболочку, используемую для выполнения команд. Для получения дополнительной информации см. «Использование конкретной оболочки».
Каждое ключевое слово run
представляет новый процесс и оболочку в среде runner.Когда вы предоставляете многострочные команды, каждая строка выполняется в одной оболочке. Например:
Используя ключевое слово working-directory
, вы можете указать рабочий каталог, из которого следует запускать команду.
- имя: Очистить временный каталог
запустить: rm -rf *
рабочий каталог: ./temp
Использование специальной оболочки
Вы можете переопределить настройки оболочки по умолчанию в операционной системе бегуна, используя ключевое слово shell
. Вы можете использовать встроенные в оболочку ключевые слова
или определить собственный набор параметров оболочки.Команда оболочки, выполняемая внутри, выполняет временный файл, содержащий команды, указанные в ключевом слове run
.
Поддерживаемая платформа | shell параметр | Описание | Внутренний запуск команды |
---|---|---|---|
Все | bash | Оболочка по умолчанию на платформах, отличных от Windows, с откатом на sh.При указании оболочки bash в Windows используется оболочка bash, включенная в Git для Windows. | bash --noprofile --norc -eo pipefail {0} |
Все | pwsh | Ядро PowerShell. GitHub добавляет расширение .ps1 к имени вашего скрипта. | pwsh -command ". '{0}'" |
Все | python | Выполняет команду python. | python {0} |
Linux / macOS | sh | Откат для платформ, отличных от Windows, если оболочка не предоставлена и bash не найден в пути. | sh -e {0} |
Windows | cmd | GitHub добавляет расширение .cmd к имени вашего скрипта и заменяет {0} . | % ComSpec% / D / E: ON / V: OFF / S / C "CALL" {0} "" . |
Windows | pwsh | Это оболочка по умолчанию, используемая в Windows. Ядро PowerShell. GitHub добавляет расширение .ps1 к имени вашего скрипта.Если в вашем автономном средстве выполнения Windows не установлен PowerShell Core , вместо него используется PowerShell Desktop . | pwsh -команда ". '{0}'" . |
Windows | powershell | Рабочий стол PowerShell. GitHub добавляет расширение .ps1 к имени вашего скрипта. | powershell -команда ". '{0}'" . |
Пример: запуск сценария с использованием bash
шагов:
- name: отобразить путь
запустить: echo $ PATH
оболочка: bash
Пример: запуск сценария с использованием Windows
cmd
шагов:
- name: отобразить путь
запустить: echo% PATH%
оболочка: cmd
Пример: запуск сценария с использованием PowerShell Core
шагов:
- name: отобразить путь
запустить: echo $ {env: PATH}
оболочка: pwsh
Пример: использование PowerShell Desktop для запуска сценария
шагов:
- name: отобразить путь
запустить: echo $ {env: PATH}
оболочка: powershell
Пример: запуск сценария Python
шагов:
- name: отобразить путь
запустить: |
импорт ОС
печать (os.Environment ['ПУТЬ'])
оболочка: питон
Оболочка под заказ
Вы можете установить значение оболочки
в строку шаблона с помощью команды [… options] {0} [..more_options]
. GitHub интерпретирует первое слово строки, разделенное пробелами, как команду и вставляет имя файла для временного скрипта в {0}
.
Например:
шагов:
- name: отображение переменных среды и их значений.
запустить: |
печать% ENV
оболочка: perl {0}
Используемая команда, perl
в этом примере, должна быть установлена на runner.
Для получения информации о программном обеспечении, включенном в бегуны, размещенные на GitHub, см. «Технические характеристики бегунов, размещенных на GitHub».
Коды выхода и предпочтительные действия при ошибке
Для встроенных ключевых слов оболочки мы предоставляем следующие значения по умолчанию, которые выполняются бегунами, размещенными на GitHub. Эти рекомендации следует использовать при запуске сценариев оболочки.
баш
/ш
:- Отказоустойчивое поведение с использованием
set -eo pipefail
: по умолчанию дляbash
и встроенной оболочки - Вы можете отказаться от быстрой обработки и получить полный контроль, указав строку шаблона для параметров оболочки. Например,
bash {0}
. - оболочки, похожие на sh, выходят с кодом выхода последней команды, выполненной в сценарии, что также является поведением по умолчанию для действий. На основе этого кода выхода бегун сообщит о статусе шага как сбой / успех.
- Отказоустойчивое поведение с использованием
PowerShell
/pwsh
- Работа без сбоев, когда это возможно.Для встроенной оболочки
pwsh
иpowershell
мы добавим$ ErrorActionPreference = 'stop'
к содержимому сценария. - Мы добавляем
if ((Test-Path -LiteralPath variable: \ LASTEXITCODE)) {exit $ LASTEXITCODE}
в сценарии PowerShell, чтобы статусы действий отражали последний код выхода сценария. - Пользователи всегда могут отказаться, не используя встроенную оболочку и предоставив настраиваемую опцию оболочки, например:
pwsh -File {0}
илиpowershell -Command "& '{0}'"
, в зависимости от необходимости. .
- Работа без сбоев, когда это возможно.Для встроенной оболочки
ЦМД
- Кажется, нет другого способа полностью отказаться от отказоустойчивого поведения, кроме написания сценария для проверки каждого кода ошибки и соответствующего реагирования. Поскольку на самом деле мы не можем обеспечить такое поведение по умолчанию, вам необходимо записать это поведение в свой скрипт.
-
cmd.exe
завершится с уровнем ошибки последней выполненной программы и вернет код ошибки исполнителю. Это поведение внутренне согласуется с предыдущимиsh
иpwsh
поведением по умолчанию и являетсяcmd.exe
по умолчанию, поэтому это поведение остается неизменным.
заданий. .steps [*]. С
Карта , карта
входных параметров, определенных действием. Каждый входной параметр представляет собой пару ключ / значение. Входные параметры задаются как переменные среды. Переменная имеет префикс INPUT_
и преобразуется в верхний регистр.
Пример
Определяет три входных параметра ( first_name
, middle_name
и last_name
), определенных действием hello_world
.Эти входные переменные будут доступны для действия hello-world
как переменные среды INPUT_FIRST_NAME
, INPUT_MIDDLE_NAME
и INPUT_LAST_NAME
.
вакансий:
my_first_job:
шаги:
- имя: Мой первый шаг
использует: действия / hello_world @ main
с участием:
first_name: Мона
middle_name:
last_name: Octocat
рабочих мест. .steps [*]. With.args
Строка
, определяющая входные данные для контейнера Docker.GitHub передает args
в ENTRYPOINT
контейнера при запуске контейнера. Массив строк
этим параметром не поддерживается.
Пример
шагов:
- name: объясните, почему это задание было выполнено
использует: octo-org / action-name @ main
с участием:
точка входа: / bin / echo
args: Событие $ {{github.event_name}} инициировало этот шаг.
args
используются вместо инструкции CMD
в Dockerfile
.Если вы используете CMD
в своем Dockerfile
, используйте инструкции, упорядоченные по предпочтениям:
- Задокументируйте обязательные аргументы в README действия и исключите их из инструкции
CMD
. - Используйте значения по умолчанию, которые позволяют использовать действие без указания каких-либо
аргументов
. - Если действие показывает флаг
--help
или что-то подобное, используйте его по умолчанию, чтобы сделать ваше действие самодокументированным.
вакансий. .steps [*]. with.entrypoint
Переопределяет Docker ENTRYPOINT
в Dockerfile
или устанавливает его, если он еще не был указан. В отличие от инструкции ENTRYPOINT Docker , которая имеет оболочку и форму exec, ключевое слово
entrypoint
принимает только одну строку, определяющую исполняемый файл, который должен быть запущен.
Пример
шагов:
- name: запустить пользовательскую команду
использует: octo-org / action-name @ main
с участием:
точка входа: / a / другой / исполняемый файл
Ключевое слово entrypoint
предназначено для использования с действиями контейнера Docker, но вы также можете использовать его с действиями JavaScript, которые не определяют никаких входных данных.
вакансий. .steps [*]. Env
Устанавливает переменные среды для шагов, которые будут использоваться в среде бегуна. Вы также можете установить переменные среды для всего рабочего процесса или задания. Для получения дополнительной информации см. Задания env
и .
.
Если с одним именем определено несколько переменных среды, GitHub использует наиболее конкретную переменную среды. Например, переменная среды, определенная на шаге, переопределит переменные задания и рабочего процесса с тем же именем, пока шаг выполняется.Переменная, определенная для задания, переопределит переменную рабочего процесса с тем же именем, пока задание выполняется.
Общедоступные действия могут указывать ожидаемые переменные среды в файле README. Если вы устанавливаете секрет в переменной среды, вы должны установить секреты, используя контекст секретов
. Дополнительные сведения см. В разделах «Использование переменных среды» и «Контексты».
Пример
шагов:
- название: Мое первое действие
env:
GITHUB_TOKEN: $ {{секреты.GITHUB_TOKEN}}
FIRST_NAME: Мона
LAST_NAME: Octocat
заданий. .steps [*]. Continue-on-error
Предотвращает сбой задания при сбое шага. Установите значение true
, чтобы разрешить выполнение задания в случае сбоя этого шага.
заданий. .steps [*]. Timeout-minutes
Максимальное количество минут для выполнения шага перед завершением процесса.
заданий. .timeout-minutes
Максимальное количество минут, в течение которых задание может выполняться, прежде чем GitHub автоматически его отменит.По умолчанию: 360
Если тайм-аут превышает предел времени выполнения задания для бегуна, задание будет отменено, когда вместо этого будет достигнут предел времени выполнения. Дополнительные сведения об ограничениях времени выполнения заданий см. В разделе «Ограничения на использование, выставление счетов и администрирование».
вакансий. .strategy
Стратегия создает матрицу построения для ваших рабочих мест. Вы можете определить различные варианты для запуска каждого задания.
вакансий. .strategy.matrix
Вы можете определить матрицу различных конфигураций заданий.Матрица позволяет создавать несколько заданий, выполняя замену переменных в одном определении задания. Например, вы можете использовать матрицу для создания заданий для более чем одной поддерживаемой версии языка программирования, операционной системы или инструмента. Матрица повторно использует конфигурацию задания и создает задание для каждой настраиваемой матрицы.
Матрица заданий может генерировать максимум 256 заданий за один запуск рабочего процесса. Этот лимит также распространяется на бегунов, которые размещаются самостоятельно.
Каждая опция, которую вы определяете в матрице
, имеет ключ и значение.Ключи, которые вы определяете, становятся свойствами в контексте матрицы
, и вы можете ссылаться на свойство в других областях вашего файла рабочего процесса. Например, если вы определяете ключ os
, который содержит массив операционных систем, вы можете использовать свойство matrix.os
в качестве значения ключевого слова running-on
для создания задания для каждой операционной системы. Для получения дополнительной информации см. «Контексты».
Порядок определения матрицы имеет значение. Первый вариант, который вы определите, будет первым заданием, выполняемым в вашем рабочем процессе.
Пример: запуск нескольких версий Node.js
Вы можете указать матрицу, указав массив для параметров конфигурации. Например, если средство выполнения поддерживает версии Node.js 10, 12 и 14, вы можете указать массив этих версий в матрице
.
В этом примере создается матрица из трех заданий путем установки ключа узла
в массив из трех версий Node.js. Чтобы использовать матрицу, в примере задается свойство контекста matrix.node
в качестве значения входного параметра node-version
действия setup-node
.В результате будут запущены три задания, каждое из которых будет использовать свою версию Node.js.
стратегия:
матрица:
узел: [10, 12, 14]
шаги:
- использует: actions / setup-node @ v2
с участием:
версия узла: $ {{matrix.node}}
Действие setup-node
- рекомендуемый способ настройки версии Node.js при использовании бегунов, размещенных на GitHub. Для получения дополнительной информации см. Действие setup-node
.
Пример: работа с несколькими операционными системами
Вы можете создать матрицу для запуска рабочих процессов в более чем одной операционной системе runner.Вы также можете указать несколько конфигураций матрицы. В этом примере создается матрица из 6 заданий:
- 2 операционные системы, указанные в массиве
os
- 3 версии Node.js, указанные в массиве
node
Когда вы определяете матрицу операционных систем, вы должны установить значение run-on
на определенное вами свойство контекста matrix.os
.
обкатка: $ {{matrix.os}}
стратегия:
матрица:
ос: [ubuntu-18.04, убунту-20.04]
узел: [10, 12, 14]
шаги:
- использует: actions / setup-node @ v2
с участием:
версия узла: $ {{matrix.node}}
Чтобы найти поддерживаемые параметры конфигурации для бегунов, размещенных на GitHub, см. «Виртуальные среды для бегунов, размещенных на GitHub».
Пример: включение дополнительных значений в комбинации
Вы можете добавить дополнительные параметры конфигурации к уже существующему заданию матрицы построения. Например, если вы хотите использовать определенную версию npm
при выполнении задания, которое использует windows-latest
и версию 8 node
, вы можете использовать include
, чтобы указать эту дополнительную опцию.
обкатка: $ {{matrix.os}}
стратегия:
матрица:
ОС: [macos-latest, windows-latest, ubuntu-18.04]
узел: [8, 10, 12, 14]
включают:
- os: windows-последняя версия
узел: 8
npm: 6
Пример: включение новых комбинаций
Вы можете использовать include
для добавления новых заданий в матрицу построения. Любые несовпадающие конфигурации включения добавляются в матрицу. Например, если вы хотите использовать узел ,
версии 14 для создания в нескольких операционных системах, но вам нужно одно дополнительное экспериментальное задание с использованием узла версии 15 в Ubuntu, вы можете использовать include
, чтобы указать это дополнительное задание.
обкатка: $ {{matrix.os}}
стратегия:
матрица:
узел: [14]
ОС: [macos-latest, windows-latest, ubuntu-18.04]
включают:
- узел: 15
ОС: убунту-18.04
экспериментальный: правда
Пример: исключение конфигураций из матрицы
Вы можете удалить определенные конфигурации, определенные в матрице сборки, с помощью опции exclude
. Использование exclude
удаляет задание, определенное матрицей сборки. Количество заданий - это перекрестное произведение количества операционных систем ( os
), включенных в предоставляемые вами массивы, за вычетом любых вычитаний ( исключая
).
обкатка: $ {{matrix.os}}
стратегия:
матрица:
ОС: [macos-latest, windows-latest, ubuntu-18.04]
узел: [8, 10, 12, 14]
исключать:
- os: macos-последняя версия
узел: 8
Примечание: Все комбинации , включая
, обрабатываются после , исключая
. Это позволяет использовать включить
для добавления ранее исключенных комбинаций.
Использование переменных среды в матрице
Вы можете добавить пользовательские переменные среды для каждой комбинации тестов с помощью клавиши include
.Затем вы можете обратиться к пользовательским переменным среды на более позднем этапе.
В этом примере каждая запись матрицы для узла версии
сконфигурирована для использования разных значений переменных среды сайта
и
центра обработки данных
. Сайт Echo подробно описывает шаг
, а затем использует env: $ {{matrix.env}}
для ссылки на пользовательские переменные:
имя: Node.js CI
on: [push]
вакансии:
строить:
работает: ubuntu-latest
стратегия:
матрица:
включают:
- версия узла: 10.Икс
сайт: "прод"
датацентр: "сайт-а"
- версия узла: 12.x
сайт: "dev"
датацентр: "site-b"
шаги:
- name: Детали эхо-сайта
env:
САЙТ: $ {{matrix.site}}
ДАТАЦЕНТР: $ {{matrix.datacenter}}
запустить: echo $ SITE $ DATACENTER
вакансий. .strategy.fail-fast
Если установлено значение true
, GitHub отменяет все выполняемые задания, если какое-либо задание matrix
не удается.По умолчанию: true
заданий. .strategy.max-parallel
Максимальное количество заданий, которые могут выполняться одновременно при использовании стратегии задания матрица
. По умолчанию GitHub максимизирует количество параллельно выполняемых заданий в зависимости от доступных исполнителей на виртуальных машинах, размещенных на GitHub.
стратегия:
макс-параллель: 2
заданий. . Continue-on-error
Предотвращает сбой рабочего процесса при сбое задания.Установите значение true
, чтобы разрешить выполнение рабочего процесса при сбое этого задания.
Пример: предотвращение сбоя определенного задания матрицы с ошибкой при выполнении рабочего процесса
Вы можете разрешить сбой определенных заданий в матрице заданий без прерывания рабочего процесса. Например, если вы хотите разрешить только экспериментальному заданию с узлом
, установленным на 15
, завершаться сбоем без сбоя выполнения рабочего процесса.
обкатка: $ {{matrix.os}}
продолжение-при-ошибке: $ {{matrix.experimental}}
стратегия:
отказоустойчивый: ложь
матрица:
узел: [13, 14]
os: [macos-latest, ubuntu-18.04]
экспериментальный: [false]
включают:
- узел: 15
ОС: убунту-18.04
экспериментальный: правда
вакансий. .container
Контейнер для выполнения любых шагов в задании, в которых еще не указан контейнер. Если у вас есть шаги, которые используют как действия сценария, так и действия контейнера, действия контейнера будут выполняться как одноуровневые контейнеры в той же сети с одинаковыми подключениями томов.
Если вы не установите контейнер
, все шаги будут выполняться непосредственно на хосте, указанном в , запускается на
, если только шаг не относится к действию, настроенному для запуска в контейнере.
Пример
вакансий:
моя работа:
контейнер:
изображение: узел: 14.16
env:
NODE_ENV: разработка
порты:
- 80
объемы:
- my_docker_volume: / volume_mount
параметры: --cpus 1
Когда вы указываете только образ контейнера, вы можете опустить ключевое слово image
.
вакансий:
моя работа:
контейнер: узел: 14.16
вакансий. .container.image
Образ Docker для использования в качестве контейнера для запуска действия.Значением может быть имя образа Docker Hub или имя реестра.
вакансий. .container.credentials
Если реестр контейнеров образа требует аутентификации для получения образа, вы можете использовать учетные данные
для установки сопоставления
имени пользователя
и пароля
. Учетные данные - это те же значения, которые вы предоставили бы команде docker login
.
Пример
контейнер:
изображение: ghcr.io / владелец / изображение
реквизиты для входа:
имя пользователя: $ {{github.actor}}
пароль: $ {{secrets.ghcr_token}}
вакансий. .container.env
Устанавливает карту
переменных среды в контейнере.
вакансий. .container.ports
Устанавливает массив
портов для отображения на контейнере.
вакансий. .container.volumes
Устанавливает массив
томов для использования в контейнере.Вы можете использовать тома для обмена данными между службами или на других этапах работы. Вы можете указать именованные тома Docker, анонимные тома Docker или привязать монтирования на хосте.
Чтобы указать том, вы указываете путь источника и назначения:
<источник>: <путь назначения>
.
<источник>
- это имя тома или абсолютный путь на хост-машине, а <путь назначения>
- это абсолютный путь в контейнере.
Пример
томов:
- my_docker_volume: / volume_mount
- / данные / my_data
- / источник / каталог: / пункт назначения / каталог
вакансий. .container.options
Дополнительные параметры ресурсов контейнера Docker. Список параметров см. В разделе «Докер создает параметры
».
Предупреждение: Параметр --network
не поддерживается.
вакансий. .services
Примечание: Если ваши рабочие процессы используют действия контейнера Docker или контейнеры служб, тогда вы должны использовать средство выполнения Linux:
- Если вы используете бегуны, размещенные на GitHub, вы должны использовать бегун Ubuntu.
- Если вы используете автономные бегуны, вы должны использовать машину Linux в качестве бегуна, и должен быть установлен Docker.
Используется для размещения контейнеров служб для задания в рабочем процессе. Контейнеры служб полезны для создания баз данных или служб кеширования, таких как Redis. Средство выполнения автоматически создает сеть Docker и управляет жизненным циклом контейнеров служб.
Если вы настроили задание для выполнения в контейнере или на шаге используются действия контейнера, вам не нужно сопоставлять порты для доступа к службе или действию.Docker автоматически открывает все порты между контейнерами в одной и той же определяемой пользователем мостовой сети Docker. Вы можете напрямую ссылаться на сервис-контейнер по его имени хоста. Имя хоста автоматически сопоставляется с именем метки, которое вы настраиваете для службы в рабочем процессе.
Если вы настраиваете задание для запуска непосредственно на машине-исполнителе и ваш шаг не использует действие контейнера, вы должны сопоставить все требуемые порты контейнера службы Docker с хостом Docker (машиной-исполнителем). Вы можете получить доступ к сервисному контейнеру, используя localhost и сопоставленный порт.
Дополнительные сведения о различиях между контейнерами сетевых служб см. В разделе «О контейнерах служб».
Пример: использование localhost
В этом примере создаются две службы: nginx и redis. Когда вы указываете порт хоста Docker, но не порт контейнера, порт контейнера случайным образом назначается свободному порту. GitHub устанавливает назначенный порт контейнера в контексте $ {{job.services.
. В этом примере вы можете получить доступ к портам контейнера службы с помощью задания $ {{.services.nginx.ports ['8080']}}
и $ {{job.services.redis.ports ['6379']}}
контекстов.
услуги:
nginx:
изображение: nginx
порты:
- 8080: 80
Redis:
изображение: redis
порты:
- 6379 / TCP
вакансий. .services. .image
Образ Docker для использования в качестве контейнера службы для запуска действия. Значением может быть имя образа Docker Hub или имя реестра.
вакансий. .services. .credentials
Если реестр контейнеров образа требует аутентификации для получения образа, вы можете использовать учетные данные
для установки сопоставления
имени пользователя
и пароля
. Учетные данные - это те же значения, которые вы предоставили бы команде docker login
.
Пример
услуги:
myservice1:
изображение: ghcr.io/owner/myservice1
реквизиты для входа:
имя пользователя: $ {{github.актер }}
пароль: $ {{secrets.ghcr_token}}
myservice2:
изображение: dockerhub_org / myservice2
реквизиты для входа:
имя пользователя: $ {{secrets.DOCKER_USER}}
пароль: $ {{secrets.DOCKER_PASSWORD}}
вакансий. .services. .env
Устанавливает карту
переменных среды в сервисном контейнере.
вакансий. .services. .ports
Устанавливает массив
портов для отображения в сервисном контейнере.
вакансий. .services. .volumes
Задает массив
томов для использования сервисным контейнером. Вы можете использовать тома для обмена данными между службами или на других этапах работы. Вы можете указать именованные тома Docker, анонимные тома Docker или привязать монтирования на хосте.
Чтобы указать том, вы указываете путь источника и назначения:
<источник>: <путь назначения>
.
<источник>
- это имя тома или абсолютный путь на хост-машине, а <путь назначения>
- это абсолютный путь в контейнере.
Пример
томов:
- my_docker_volume: / volume_mount
- / данные / my_data
- / источник / каталог: / пункт назначения / каталог
вакансий. .services. .options
Дополнительные параметры ресурсов контейнера Docker. Список параметров см. В разделе «Докер создает параметры
».
Предупреждение: Параметр --network
не поддерживается.
вакансий. .использует
Расположение и версия повторно используемого файла рабочего процесса для запуска в качестве задания.
{owner} / {repo} / {path} / {filename} @ {ref}
{ref}
может быть SHA, тегом выпуска или именем ветки. Использование фиксации SHA является самым безопасным для стабильности и безопасности. Дополнительные сведения см. В разделе «Усиление безопасности для действий GitHub».
Пример
вакансий:
вызов-рабочий процесс-1:
использует: octo-org / this-repo / .github / workflows / workflow-1.yml @ 172239021f7ba04fe7327647b213799853a9eb89
вызов-рабочий процесс-2:
использует: octo-org/another-repo/.github/workflows/workflow-2.yml@v1
Для получения дополнительной информации см. «Повторное использование рабочих процессов».
вакансий. . С
Когда задание используется для вызова многоразового рабочего процесса, вы можете использовать с
для предоставления карты входных данных, которые передаются в вызываемый рабочий процесс.
Любые входные данные, которые вы передаете, должны соответствовать входным спецификациям, определенным в вызываемом рабочем процессе.
В отличие от заданий .
, входные данные, которые вы передаете с заданиями .
, недоступны в качестве переменных среды в вызываемом рабочем процессе. Вместо этого вы можете ссылаться на входные данные, используя контекст входов и
.
Пример
вакансий:
звонок-рабочий процесс:
использует: octo-org/example-repo/.github/workflows/called-workflow.yml@main
с участием:
имя пользователя: мона
вакансий. .с.
Пара, состоящая из строкового идентификатора ввода и значения ввода. Идентификатор должен соответствовать имени входа, определенного on.workflow_call.inputs.
в вызываемом рабочем процессе. Тип данных значения должен соответствовать типу, определенному в on.workflow_call.
в вызываемом рабочем процессе.
Допустимые контексты выражений: github
, а для требуется
.
вакансий. .secrets
Когда задание используется для вызова повторно используемого рабочего процесса, вы можете использовать секретов
для предоставления карты секретов, которые передаются в вызываемый рабочий процесс.
Любые передаваемые секреты должны соответствовать именам, определенным в вызываемом рабочем процессе.
Пример
вакансий:
звонок-рабочий процесс:
использует: octo-org/example-repo/.github/workflows/called-workflow.yml@main
секреты:
токен доступа: $ {{secrets.PERSONAL_ACCESS_TOKEN}}
вакансий. .secrets.
Пара, состоящая из строкового идентификатора секрета и значения секрета. Идентификатор должен соответствовать имени секрета, определенного on.workflow_call.secrets.
в вызываемом рабочем процессе.
Допустимые контексты выражений: github
, требуется
и секреты
.
Шпаргалка по шаблонам фильтров
Вы можете использовать специальные символы в фильтрах пути, ветки и тега.
-
*
: соответствует нулю или более символов, но не соответствует символу/
. Например,Octo *
соответствуетOctocat
. -
**
: соответствует нулю или более любых символов. -
?
: соответствует нулю или одному из предшествующих символов. -
+
: соответствует одному или нескольким предыдущим символам. -
[]
Соответствует одному символу, указанному в скобках или включенному в диапазоны.Диапазоны могут включать толькоa – z
,A – Z
и0–9
. Например, диапазон[0-9a-z]
соответствует любой цифре или строчной букве. Например,[CB] в
соответствуетCat
илиBat
, а[1-2] 00
соответствует100
и200
. -
!
: В начале паттерна заставляет его отрицать предыдущие положительные паттерны. Он не имеет особого значения, если не первый символ.
Символы *
, [
и !
- специальные символы в YAML.Если вы начинаете узор с *
, [
или !
, вы должны заключить образец в кавычки.
- '** / README.md'
- ** / README.md
Для получения дополнительной информации о синтаксисе фильтров ветвей, тегов и путей см. « on.
» и « on.
».
Шаблоны для сопоставления ветвей и тегов
Шаблон | Описание | Пример соответствует |
---|---|---|
feature / * | Подстановочный знак * соответствует любому символу, но не соответствует наклонной черте (/ ). | feature / my-branch |
feature / ** | Подстановочный знак ** соответствует любому символу, включая косую черту (/ ) в ветке и теге имена. | feature / beta-a / my-branch |
main | Соответствует точному имени ветви или имени тега. | main |
'*' | Соответствует всем именам веток и тегов, которые не содержат косой черты (/ ). Символ * - это специальный символ в YAML. Когда вы начинаете паттерн с * , вы должны использовать кавычки. | основной |
'**' | Соответствует всем именам веток и тегов.Это поведение по умолчанию, когда вы не используете ветвей или теги фильтр. | все / ветви |
'* feature' | Символ * является специальным символом в YAML. Когда вы начинаете паттерн с * , вы должны использовать кавычки. | mona-feature |
v2 * | Соответствует именам веток и тегов, которые начинаются с v2 . | v2 |
v [12]. [0-9] +. [0-9] + | Соответствует всем семантическим ветвям управления версиями и теги с основной версией 1 или 2 | v1.10.1 |
Шаблоны для сопоставления путей к файлам
Шаблоны пути должны соответствовать всему пути и начинаться с корня репозитория.
Шаблон | Описание совпадений | Пример совпадений |
---|---|---|
'*' | Подстановочный знак * соответствует любому символу, но не соответствует наклонной черте (/ ).Символ * - это специальный символ в YAML. Когда вы начинаете паттерн с * , вы должны использовать кавычки. | README.md |
'* .jsx?' | ? символ соответствует нулю или одному из предшествующих символов. | page.js |
'**' | Подстановочный знак ** соответствует любому символу, включая косую черту (/ ).Это поведение по умолчанию, если вы не используете фильтр путь . | all / the / files.md |
'* .js' | Подстановочный знак * соответствует любому символу, но не соответствует наклонной черте (/ ). Соответствует всем файлам .js в корне репозитория. | app.js |
'**. Js' | Соответствует всем .js файлам в репозитории. | index.js |
docs / * | Все файлы в корне каталога docs , в корне репозитория. | docs / README.md |
docs / ** | Любые файлы в каталоге / docs в корне репозитория. | документов / README.md |
docs / ** / *. md | Файл с суффиксом .md в любом месте каталога docs . | docs / README.md |
'** / docs / **' | Любые файлы в каталоге docs в любом месте репозитория. | документы / привет.md |
'** / README.md' | Файл README.md где угодно в репозитории. | README.md |
'** / * src / **' | Любой файл в папке с суффиксом src в любом месте репозитория. | a / src / app.js |
'** / * - post.md' | Файл с суффиксом -post.md в любом месте репозитория. | my-post.md |
'** / migrate - *. Sql' | Файл с префиксом migrate- и суффиксом .sql в любом месте репозитория. | migrate-10909.sql |
* .md | Использование восклицательного знака (! ) перед узором отрицает его. Когда файл соответствует шаблону, а также соответствует отрицательному шаблону, определенному позже в файле, файл не будет включен. | hello.md Не соответствует |
*.md | Шаблоны проверяются последовательно. Шаблон, который отрицает предыдущий шаблон, повторно включает пути к файлам. | hello.md |
Chase and Sway: имена глаголов действия для мальчиков
Некоторые из самых стильных имен мальчиков - это названия слов, и некоторые из этих имен являются глаголами. Имена глаголов действия.
Это кажется маленьким мальчиком, не так ли? Такие названия, как Dash или Chase , подходят к нашему образу мальчиков, бегущих по тротуару или крутящих педали на велосипеде с максимально возможной скоростью.
Конечно, ваш Dash может быть книжным червем. И Чейз, возможно, больше увлекается Lego, чем соревнованиями по легкой атлетике. Но ничто из этого не притупляет очарование более популярных имен.
Некоторые варианты могут зайти слишком далеко. Zip - это прозвище, может быть, забавное.Но это кажется немного непривычным для использования в качестве имени.
Другие, такие как Jack и Max , имеют глагольное название undercurrent - поднимать, максимизировать - но они, естественно, не относятся к этой категории.
Они могут быть особенно очаровательными в середине. Это непредсказуемый наполнитель, но и не такой диковинный, как Danger . (Или по крайней мере , большинство из них не…)
Если вы стремитесь к активному выбору, есть множество возможностей, которые стоит рассмотреть.
Начнем с имен с такой долгой историей употребления, что мы не часто думаем о них как о глаголах.
Грант - Он имеет щедрое значение - давать, позволять - и в # 163 он соответствует той знакомой, но не популярной категории, которую ищут многие родители.
Марка - Мы думаем об этом как о библейской классике, но Самуил Клеменс взял свой псевдоним от фразы «Марк Твен». Когда-то пользовавшийся бешеной популярностью, сейчас Марк занимает относительно малоиспользуемый номер 176.
Lance - Он немного похож на средневекового рыцаря, но он также хорошо зарекомендовал себя для мальчиков двадцатого века. Лэнс опустился на 496 место в 2012 году, но он остается весьма вероятным.
Уэйд - У него был хороший пробег в 1950-х и 60-х годах. Сегодня его затмил ковбой Cade , но это заставляет Уэйда чувствовать себя почти классикой. И он определенно тоже глагол действия. В 2012 году Уэйд занял 553 место.
Чейз - Самое популярное из современных глагольных имен, Чейз когда-то было фамилией охотника.Сегодня он чувствует себя опрятным заимствованием - подумайте о банке Chase Manhattan. Он занял 77 место в 2012 году. Jace - вариант написания, вдохновленный , Chace также используется.
Gage - Хорошо, Gage - это не глагольное имя. Это фамилия, усиленная романом Стивена Кинга , . В № 172 он довольно популярен. Но слово «Гейдж» происходит от слова, означающего «измерять», и профессии пробирного - должностного лица, обеспечивающего точность мер и весов, используемых в торговле.Типичное английское написание глагола - gauge. Само название Gauge занимает место среди 700-х.
Jett - Двойное написание «t» означает скорее Joan , чем дикий синий вон там. Но джет - это совсем другая история. С одним «t» реактивный самолет - это летать, а реактивный самолет - это то, как вы это делаете. Jett занял 344 место в 2012 году. Jet также иногда используется, и это также может быть название цвета от минерального лигнита, более известного как гагат. Или угольно-черный. Добавьте «е», и Jette - это фамилия от французского глагола «бросать», дарованная брошенным детям.
Кейс - Кейс - это предмет, коробка или папка для переноски вещей. Или, может быть, пример - в случае… Но случай мог бы быть глаголом , если он имеет криминальный уклон - если вы заделываете косяк, вы осматриваете помещение, вероятно, перед тем, как взломать и проникнуть. Case занял 502 место в 2012 году, а Kase также входит в топ-1000. Родители, вероятно, выбирают его не за его значение, а за его модный звук Jace / Trace / Chase .
Эйс - Джессика Симпсон дала это удивительно многозначительное имя своему сыну несколько недель назад.В 2012 году Эйс занял 524-е место. В 2013 году он мог означать «безумное детское имя знаменитости» или «туз» - добиться успеха, преуспеть, побеждать. Это привлекательное значение для ребенка.
Tripp - Он долгое время был прозвищем в стиле преппи для III. (Вспомните Чарльз Кэбот Эллис III, но назовите меня Триппом.) Затем появились кандидат в вице-президенты Сара Пэйлин и ее творчески названный выводок. Трипп - первый внук Сары, ребенок ее дочери, Бристоль. Мужчины ответили на вопросы Tip и Flip , но именно Tripp кажется пригодным для ношения.В глаголах Трипп кажется нелестным - отсылка к неуклюжести или, возможно, к употреблению наркотиков. Но до 1400-х годов поездка означала легкую ступеньку, прыжок - как в «поездке на свету фантастической». Более современное значение может быть камнем преткновения для некоторых родителей, но другие принимают его.
Blaze - Святой Blaise имеет более долгую историю использования, но огненный Blaze более популярен. С буквой z это имя занимало 752-е место в 2012 году, в то время как орфография -ise отставала от 918-го.
Фостер - Он занял 995-е место в 2012 году, попав в первую тысячу.Но Фостер с его окончанием r мог пойти куда угодно. И его смысл приятен: воспитывать - значит ободрять, воспитывать, помогать расти.
Cash - Мы обналичиваем чеки, поэтому у наличных определенно есть глагол. Но Кэш обязан своей популярностью больше благодаря фамилии певца Джонни Кэш и, возможно, всемогущему доллару. Эта очень крутая фамилия могла быть связана с Киршем - от немецкого слова «вишневое дерево» - совсем другой образ. Cash занял 270-е место в 2012 году.
Cruz - Хорошо, это испанское слово, обозначающее крест, и распространенная фамилия в испаноязычном мире. Но звучит так же, как круиз, как в Tom , и глагол, означающий пересечь. Ой, подождите - Cruz и Cruise в конце концов не так уж и сильно отличаются. Кроме того, Крузу дали более 1220 новорожденных, в то время как только 18 мальчиков получили имя Круз.
Trace - Да, своим успехом Трэйс обязан Трэйсу Адкинсу из кантри-музыки. И да, настоящее имя мистера Адкинса - Tracy .Но в то время как Трейси кажется такой же женственной, как Ashley аудитории 2013 года, Трейс больше похожа на Джейса, Кейса и Трейса - другими словами, совершенно мужского пола. Trace заняла 634 место в 2012 году.
Aim - звук появляется в известных именах, таких как Amy и Amos , а также в фамилии Ames . Цель - как в готов, _____, огонь - есть возможность. Обладая образами постановки целей, он соответствует современным названиям добродетелей.
Верю - Слишком новый век? Если Faith и Hope - выбор добродетели для девочек, возможно, Believe имеет такую возможность.
Brave - Мы выдерживаем стихии, мы выдерживаем невзгоды. Благодаря своему устойчивому имиджу Brave может стать привлекательной серединой. Бенджамин Братт имеет сына по имени Матео Храбрость .
Мост - Название Bridger удивительно популярно на Горном Западе благодаря исследователю, живущему в горах, по имени Jim Bridger. Just Bridge кажется немного более активным, но при этом таким же удобным.
Диаграмма - Что-то в Диаграмме звучит как как имя.Кроме того, прокладывание пути - это положительная ассоциация. Я полагаю, что медицинские карты менее чем вдохновляют. Но он все еще мог работать.
Climb - Проблема с Climb в средней точке в том, что это похоже на команду. Дэвид Поднимитесь Смит . Мэтью Поднимитесь Харрисон . И я просто не слышу его по имени. Но что-то все-таки заставило меня оставить его в списке.
Dash - в настоящее время он не имеет рейтинга, но Dashiell - перспективный литературный вариант.В фильме Disney-Pixar The Incredibles изображен быстро бегающий мальчик по имени Дэш.
Gather - Gather мне кажется имя с тяжелым христианским подтекстом, брат Nevaeh .
Lead - Led - не стартер, но Lead - рифмуется с Reid - имеет некоторую возможность.
Ссылка - Он короткая форма Линкольн , герой видеоигры, и слово, полное связей и возможностей.
Pace - Шагать - значит ходить. Он может передавать тревогу - хождение взад и вперед - или устойчивый ритм - кардиостимулятор, кардиостимулятор, задает темп. Pacey on Dawson Creek поставил звук на карту для мальчиков, и Пейс частично обязан своим использованием благодаря росту Трейса, Джейса и компании.
Pilot - Он есть в каждом списке плохих детских имен, но у маленького парня Джейсона Ли на самом деле довольно крутое имя. И хотя это напоминает занятие, мы занимаемся пилотированием самолетов, что делает его именем глагола действия, по крайней мере, столь же достойным неба, как Джетт.
Pioneer - Не кажется ли это сумасшедшей мыслью? Может быть это. Pioneer никогда не давали более пяти мальчикам в год, данные по которым хранятся в Управлении социального обеспечения. Но я нашел двух пионеров в записях переписи, и в нашу эпоху, когда имена мальчиков заканчиваются -r, я не удивлюсь, увидев его. Пионер может быть существительным или глаголом - пионер. Или прилагательное - новаторские достижения в науке.
Причина - Как и у Pioneer, Reason редко используется в качестве имени, хотя в 2012 году это имя получили восемь мальчиков.В Reason есть немного современной добродетельной атмосферы, и его звучание согласуется со многими вариантами концов с -n для мальчиков, от Aiden до Rowan .
Парус - Продажа по буквам, он меньше глагола и больше торгуется. Но Sail обладает всей морской привлекательностью Sailor и почему-то кажется более мужественным.
Sway - Рэпер, ставший музыкальным журналистом на радио и телевидении, Sway Calloway придает этому имени серьезный стиль.Sway может означать скользить - или убеждать.
Спайк - С тех пор, как Майк Майерс использовал этот шип для своего сына, я задавался вопросом, увидим ли мы, ну, шип у мальчиков с таким именем. Как существительное, шип - это старый большой гвоздь. Глагол «спайк» может означать результат в волейболе, закрепление чего-либо шипом или добавление выпивки в безалкогольный напиток. Как имя для мальчиков, это звучит довольно агрессивно.
Track - Похоже, он один из детей Сары Пэйлин.Э, подожди ... он один из детей Сары Пэйлин, ее первенец. Трек относится к маминой любви к бегу. Он грубый и подвижный, но не слишком мужественный. Подайте его где-то между Cedar и Slade .
Судья - Да, это судья Рейнхольд, его имя высмеянно в заявлении «Арестованное развитие, ». Его настоящее имя - Эдвард , но Джадж - это детское прозвище, которое прижилось. Его также постоянно используют для мальчиков. Начиная с 1880-х годов, чаще всего от дюжины до двух дюжин мальчиков получали это имя.
Win - Слишком очевидно? Wynn, Wynne, Winston и Winton - все они разделяют удачное звучание глагола.
Unify - Если бы Romeo и Juliet были романтической комедией со счастливым концом, Unify звали бы их маленького мальчика, шекспировский Ренесми. В остальном это какой-то бестолковый и очень редко слышный. Но он мог бы стать значимой серединой для родителей после выбора современной добродетели.
Есть ли другие глагольные названия, которые подойдут мальчику? Вы бы использовали что-нибудь из этого в первую очередь? Как насчет середины?
Другие имена, которые могут вам понравиться:
Список из 50 общих глаголов действия с изображениями • 7ESL
глаголов действия! Полезный список глаголов действия на английском языке с картинками и примерами предложений. Глаголы жизненно важны для любого языка, и английский язык не исключение, однако их часто так много, что это может сбивать с толку.По этой причине мы разбили английские глаголы на более удобные для понимания части. В этом разделе вы познакомитесь с глаголами, которые используются для описания действия. Эти глаголы помогут вам составить предложение и помогут вам на пути к богатому словарному запасу английских глаголов.
Глаголы действия
Выучите эти глаголы действия, чтобы улучшить и расширить свой словарный запас о глаголах в английском языке.
Узнайте больше с помощью большого списка глаголов английского языка и глаголов действия в грамматике английского языка.
Список глаголов действия
- Поездка
- Сядьте
- Встаньте
- Борьба
- Смех
- Читать
- Играть
- Слушайте
- Плакать
- Думаю
- Sing
- Смотреть телевизор
- Танец
- Включите
- Выключить
- Win
- Fly
- Cut
- Выбросить
- Сон
- Закрыть
- Открыть
- Написать
- Дайте
- Прыжок
- Есть
- Напиток
- Повар
- Мойка
- Подождите
- Набор высоты
- Обсуждение
- Ползать
- Мечта
- Копать
- Хлопок
- Вязать
- Шитье
- Запах
- Поцелуй
- Обнять
- Храп
- Ванна
- Лук
- Краска
- Погружение
- Лыжи
- Стек
- Купить
- встряхнуть
Штифт
Список глаголов действия с изображениями и примерами ПоездкаСлишком далеко до ехать к бабушке; Вам лучше поехать на автобусе.
Штифт
СядьтеЯ просто хочу сесть и расслабиться.
Штифт
СтоятьУ нее не хватило сил даже устоять .
Штифт
БорьбаЛучше бороться за справедливость, чем ругать больных.
Штифт
СмехСмейся над своими болезнями И сэкономь на счетах врачей.
Штифт
ЧтениеДля читать без размышлений - все равно что есть, не переваривая.
Штифт
ИгратьВся работа и никаких развлечений. делает Джека скучным мальчиком.
Штифт
СлушайтеСмотрите, слушайте и молчите, и будете жить в мире.
Штифт
КрикПлакать одним глазом, а другим смеяться.
Штифт
ДумаюДумайте с мудрыми, но говорите с пошлыми.
Штифт
SingПтицу, которая может петь и не будет петь, нужно заставить петь.
Штифт
Смотреть телевизорПотом она уступила и разрешила детям допоздна ложиться смотреть телевизор.
Штифт
ТанецЖизнь - это научиться танцевать под дождем.
Штифт
ВключитеЯ не стал включить свет , а ощупью пересек комнату.
Штифт
ВыключитьВы забыли на выключить свет.
Штифт
WinВы, , выигрываете, , что-то проигрываете.
Штифт
FlyНе летайте , пока крылья не оперятся.
Штифт
НасечкаОна разрезала бумагу на мелкие кусочки.
Штифт
ВыброситьВаша жизнь слишком дорога, чтобы выбросить .
Штифт
Спящий режимОн не мог заснуть , потому что был слишком возбужден.
Штифт
ЗакрытьМожете ли вы закрыть окно? Я на черновике.
Штифт
ОткрытьОткрой не свою дверь, когда стучит дьявол.
Штифт
ЗаписьОна планирует написать мемуаров.
Штифт
ДайтеЛучше отдать , чем получить.
Штифт
ПерейтиМаленький мальчик бормочет свои молитвы и прыгает в постель.
Штифт
СъестьЕшьте , чтобы жить, но не живите, чтобы есть.
Штифт
НапитокМужчина не может свистеть и пить одновременно.
Штифт
ПоварМне придется приготовить им еду , иначе они сочтут меня негостеприимным.
Штифт
МойкаВсегда мыть руки перед едой.
Штифт
ПодождитеУметь ждать - это большой секрет успеха.
Штифт
Набор высотыНе забирайтесь на дерево в поисках рыбы.
Штифт
ОбсуждениеЛюбовь понимает любовь; ему не нужен разговор .
Штифт
ПолзатьРебенок учится ползать , прежде чем он научится ходить.
Штифт
МечтаНадежда - это всего лишь мечта тех, кто просыпается.
Штифт
КопатьЯ собираюсь выкопать в этой стене.
Штифт
Хлопок«Когда я хлопаю в ладоши , вы должны стоять на месте», - сказал учитель.
Штифт
ВязатьНавяжите бровей, и у вас будет идея.
Штифт
ШитьеМеня бабушка научила шить .
Штифт
ЗапахРыба и гости запах через три дня.
Штифт
ПоцелуйЛюбовь начинается с улыбки, развивается поцелуем и заканчивается слезой.
Штифт
ОбнятьМолчаливое объятие означает тысячу слов для несчастного сердца.
Штифт
ХрапЕсли храпит , лучше не спать на спине.
Штифт
ВаннаНе купайтесь сразу после еды.
Штифт
ЛукВремя не кланяется вам, вы должны кланяться времени.
Штифт
КраскаХорошая грань не нуждается в краске .
Штифт
ПогружениеВы, , ныряете в первую очередь и проверяете температуру воды.
Штифт
ЛыжиРаньше до полудня катались на лыжах , потом обедаем.
Штифт
СтекПожалуйста, сложите стульев перед уходом.
Штифт
КупитьДеньги можно купить сам черт.
Штифт
встряхнутьОна протянула руку , чтобы потрясти мою.
Штифт
Глаголы действия | Картинки
Глаголы действия: список общих глаголов действия Изображение 1
Штифт
Глаголы действия: список общих глаголов действия Изображение 2
Штифт
Глаголы с картинками для детейСписок полезных глаголов, обычно используемых в английском языке, с картинками с глаголами для детей.
Выучите видео распространенных глаголов на английском языке с американским английским произношением.
политик действий в Google | Консоль действий | Разработчики Google
Эта политика предназначена для предоставления рекомендаций разработчикам, использующим платформу Actions on Google, включая действия, которые будут опубликованы в Каталоге. Некоторые партнеры могут иметь доступ к дополнительным API и подпадать под действие различных политик.
Для целей данной политики термин «Действие» применяется либо к проекту Действия, либо к отдельным Действиям в рамках этого проекта.Эта политика применяется ко всем аспектам действий, включая их содержание, рекламный контент (где разрешено), поведение и информацию о листинге в Справочнике.
Всегда лучше избегать нарушения правил, чем устранять их, но когда нарушения все же происходят, мы стремимся к тому, чтобы разработчики понимали, как они могут привести свои Действия в соответствие.
Если ваше действие нарушает нашу политику, вы получите уведомление с конкретной причиной удаления или отклонения.Повторные или серьезные нарушения политики могут привести к удалению индивидуальных, связанных или партнерских учетных записей.
Мы можем принимать меры на основании ряда факторов, включая, помимо прочего, модель вредного поведения или высокий риск злоупотреблений. Мы определяем риск злоупотреблений на основе факторов, включая, помимо прочего, предыдущую историю нарушений, отзывы пользователей и использование популярных брендов, персонажей и других активов.
Мы также можем ограничить обнаруживаемость вашего Действия, если оно низкого качества (например, неспособность корректно обрабатывать пользовательские запросы), нездоровое (например, сбой или неожиданный выход), ограниченное по назначению (полезно только для небольшой группы пользователей), или содержит контент, неприемлемый для большинства зрителей.Обратите внимание, что в Actions on Google разрешается отправлять Actions только разработчикам, достигшим 18-летнего возраста на момент отправки. См. Здесь для получения дополнительной информации о нашем процессе принудительного исполнения.
Ограничения по содержанию
откровенно сексуального характера
Мы не разрешаем Действия, которые содержат или продвигают контент сексуального характера, включая порнографию, или любой контент или услуги, предназначенные для сексуального удовлетворения. Контент, содержащий обнаженную натуру, может быть разрешен, если основной целью является образовательная, документальная, научная или художественная, и не является безвозмездной.
Если ваше действие содержит контент, который может быть неприемлемым для широкой аудитории, он должен включать отказ от ответственности в начале первого разговора пользователя с действием и в описании каталога помощника.
Вот несколько примеров нарушений:
- Изображение сексуальной наготы или поз сексуального характера, в которых объект обнажен, размыт или минимально одет, и / или где одежда неприемлема в соответствующем публичном контексте.
- Изображения, анимация или иллюстрации половых актов, поз сексуального характера или сексуальных изображений частей тела.
- Контент, изображающий или являющийся функционально сексуальным помощником, секс-игрушками, секс-гайдами, незаконными сексуальными темами и фетишами.
- Непристойный или непристойный контент, включая, помимо прочего, контент, который может содержать явный текст или ключевые слова для взрослых / сексуального характера.
- Контент, изображающий, описывающий или поощряющий зоофилию.
- Действия, которые продвигают связанные с сексом развлечения, эскорт-услуги или другие услуги, которые могут быть истолкованы как предоставление сексуальных действий в обмен на компенсацию.
- Действия, унижающие или объективизирующие людей.
Опасность для детей
Google придерживается политики абсолютной нетерпимости к материалам, связанным с сексуальным насилием над детьми, и действиям, пропагандирующим сексуальную эксплуатацию несовершеннолетних. Действия, включающие контент, сексуализирующий несовершеннолетних, подлежат немедленному удалению, включая, помимо прочего, те, которые пропагандируют педофилию или ненадлежащее взаимодействие с несовершеннолетними (например, нащупывание или ласки). Если нам станет известно о содержании или Действиях, способствующих или способствующих распространению материалов о сексуальном насилии над детьми, мы сообщим об этом в соответствующие органы и удалим учетные записи Google лиц, участвующих в распространении.
Насилие и опасные действия
Мы не разрешаем Действия, изображающие или способствующие неоправданному насилию или другим опасным действиям. Сюда входят:
- Графическое описание реалистичного насилия или жестоких угроз любому человеку или животному.
- Самоповреждение, самоубийство, расстройство пищевого поведения, игры с удушьем или другие действия, которые могут привести к серьезным травмам или смерти.
Действия, изображающие вымышленное или умеренное насилие в контексте игры, такие как мультфильмы, охота или рыбалка, обычно разрешены.
Мы не разрешаем террористическим организациям публиковать Действия для любых целей, включая вербовку. Мы не разрешаем Действия с контентом, связанным с терроризмом, например контентом, пропагандирующим террористические акты, подстрекающим к насилию или прославляющим террористические атаки. При размещении контента, связанного с терроризмом, в образовательных, документальных, научных или художественных целях, постарайтесь предоставить достаточно информации, чтобы пользователи понимали контекст.
Мы не допускаем Действия, которые способствуют продаже взрывчатых веществ, огнестрельного оружия, боеприпасов или некоторых принадлежностей к огнестрельному оружию.К ограниченным аксессуарам относятся те, которые позволяют огнестрельному оружию имитировать автоматический огонь или преобразовывать огнестрельное оружие в автоматическое (например, ударные приклады, спусковые механизмы Гатлинга, автоматические шнуры, комплекты для переоборудования), а также магазины или ремни с боезапасом более 30 патронов.
Мы не допускаем Действия, содержащие инструкции по производству взрывчатых веществ, огнестрельного оружия, боеприпасов, ограниченных принадлежностей к огнестрельному оружию или другого оружия. Сюда входят инструкции о том, как преобразовать огнестрельное оружие в режим автоматического или имитационного автоматического ведения огня.
Если ваше действие содержит контент, который может быть неприемлемым для общей аудитории, обсуждает зрелые темы или содержит тревожный или тревожный контент, оно должно включать отказ от ответственности в начале первого разговора пользователя с действием и в описании каталога помощника.
Издевательства и домогательства
Мы не разрешаем Действия, содержащие или способствующие угрозам, преследованию или запугиванию. Сюда входит контент, в первую очередь предназначенный для преследования или выделения другого человека для оскорблений, злонамеренных атак или насмешек.
Вот несколько примеров нарушений:
- Издевательства над жертвами международных или религиозных конфликтов.
- Материалы, направленные на эксплуатацию других людей, включая вымогательство, шантаж и т. Д.
- Публикация материалов с целью публично унизить кого-либо.
- Преследование жертв, их друзей и родственников в результате трагического события.
Разжигание вражды
Мы не разрешаем Действия, которые способствуют или продвигают контент, пропагандирующий ненависть или насилие, или продвигающий дискриминацию в отношении групп людей на основе их расы или этнического происхождения, религии, инвалидности, пола, возраста, национальности, статуса ветерана, сексуальной ориентации, пола. идентичность или любая другая характеристика, связанная с системной дискриминацией или маргинализацией.
Действия, содержащие EDSA (образовательный, документальный, научный или художественный) контент, связанный с нацистами, могут быть заблокированы в некоторых странах в соответствии с местными законами и постановлениями.
Если ваше действие содержит контент, который может быть неприемлемым для широкой аудитории, он должен включать отказ от ответственности в начале первого разговора пользователя с действием и в описании каталога помощника.
Вот несколько примеров нарушений:
- Контент или высказывания, утверждающие, что защищенная группа бесчеловечна, неполноценна или достойна ненависти.
- Действия, содержащие ненавистнические оскорбления, стереотипы или теории о защищаемой группе, обладающей негативными характеристиками (например, злонамеренные, коррумпированные, злые и т. Д.), Или явно или неявно утверждающие, что группа представляет собой угрозу.
- Контент или речь, пытающаяся побудить других поверить в то, что людей следует ненавидеть или дискриминировать, потому что они являются членами защищенной группы.
- Контент, пропагандирующий символы ненависти, такие как флаги, символы, знаки отличия, атрибутика или поведение, связанное с группами ненависти.
Чувствительные события
Мы не разрешаем Действия, в которых отсутствует разумная чувствительность к стихийным бедствиям, пандемии, злодеяниям, конфликтам, смерти или другим трагическим событиям или которые не используют их для извлечения выгоды.
Действия с контентом, относящимся к конфиденциальному событию, обычно разрешены, если этот контент имеет ценность EDSA (образовательный, документальный, научный или художественный) или предназначен для предупреждения пользователей или повышения осведомленности о конфиденциальном событии.
Если ваше действие содержит контент, который может быть неприемлемым для широкой аудитории, он должен включать отказ от ответственности в начале первого разговора пользователя с действием и в описании каталога помощника.
Вот несколько примеров нарушений:
- Отсутствие чувствительности в отношении смерти реального человека или группы людей в результате самоубийства, передозировки, естественных причин и т. Д.
- Отрицание крупного трагического события.
- Получение выгоды от трагического события без видимой пользы для жертв.
Азартные игры, игры и конкурсы
Мы не разрешаем Действия, содержащие контент или услуги, которые позволяют пользователям делать ставки, делать ставки или участвовать, используя реальные деньги (включая предметы в Действии, приобретенные за деньги), чтобы получить приз реальной денежной стоимости.Это включает, помимо прочего, онлайн-казино, ставки на спорт, лотереи и игры, предлагающие денежные призы или другие реальные денежные призы.
Действия, которые облегчают пользователям розыгрыши, розыгрыши или конкурсы, для участия в которых не требуются деньги, должны сообщать пользователю правила участия во время первого взаимодействия, включая фиксированный крайний срок участия и дату присуждения, фиксированное количество победителей и другую важную информацию. .
Вот несколько примеров нарушений:
- Игры, в которых принимаются деньги в обмен на возможность выиграть физический или денежный приз.
- Игры с очками «лояльности» (например, участие или активность), которые (1) накапливаются или ускоряются за счет покупок за реальные деньги, которые (2) можно обменять на предметы или призы реальной денежной стоимости.
- Действия, которые принимают или управляют ставками на азартные игры, валютой в действии, необходимой для участия, выигрышей или депозитов, чтобы получить или ускорить право на получение физического или денежного приза.
Незаконная деятельность
Мы не разрешаем Действия, которые способствуют или продвигают незаконную деятельность. Вы несете единоличную ответственность за определение законности своего Действия в целевом регионе.
Вот несколько примеров нарушений:
- Поощрение или предоставление инструкций по производству запрещенных наркотиков.
- Поощрение или предоставление инструкций по отмыванию денег или уклонению от уплаты налогов.
- Поощрение цифрового пиратства или предоставление инструкций.
Алкоголь, табак и наркотики
Действия, которые способствуют или продвигают продажу алкоголя, разрешены в странах. перечислены в политике Google в отношении рекламы алкоголя.См. Также руководство по использованию бренда, чтобы ознакомиться с ограничениями по брендингу для маркетинга. Действия, связанные с алкоголем и алкоголем.
Все действия должны:
- Реализуйте привязку аккаунтов и убедитесь, что пользователи соответствуют установленным законом возрастным требованиям
- Соблюдать все ограничения или процедуры, требуемые применимым местным законодательством
Эти требования распространяются на всю алкогольную продукцию, включая вино, пиво, крепкие спиртные напитки и наборы для алкоголя.
Продажа табачных изделий, включая сигареты, сигары, табак для катания, и электронные сигареты запрещены.
Действия с маркой алкоголя должны включать проверку возраста в начале разговора, даже если Действие не способствует или не способствует продаже сопутствующие товары.
Запрещены действия, способствующие чрезмерному или ненадлежащему употреблению алкоголя или табак или употребление несовершеннолетними.
Мы не допускаем действий, которые способствуют продаже или производству развлекательных наркотики, включая марихуану или продукты с ТГК, независимо от законности. Мы тоже не допускать Действия, которые способствуют заказу лекарств или сопутствующих товаров или помощь пользователям в организации доставки или получения таких товаров.
Здоровье
Мы не разрешаем Действия, связанные с передачей информации, которая может считаться защищенной медицинской информацией (PHI) в соответствии с Законом о переносимости и подотчетности медицинского страхования (HIPAA). Google не может гарантировать, что платформа Actions on Google может соответствовать требованиям HIPAA или другим аналогичным правилам в отношении медицинских данных.
Мы также не разрешаем Действия, которые предоставляют, собирают или хранят личную медицинскую информацию, включая данные, которые могут считаться данными о здоровье в соответствии с Общим регламентом защиты данных (GDPR).
Действия, которые предоставляют информацию о здоровье, такую как неперсонализированная информация о симптомах, лечении или лекарствах, должны включать отказ от ответственности в начале первого разговора пользователя с Действием и в описании Справочника.
Действия, обеспечивающие фитнес-функциональность, включая мониторинг активности (сожженные калории, пройденные шаги и т. Д.), Данные о весе и ИМТ, разрешены, если они не связаны с передачей информации, которая может рассматриваться как PHI согласно HIPAA, или данных, касающихся здоровья. согласно GDPR.
Финансовые услуги
Для целей данной политики мы рассматриваем финансовые продукты и услуги как те, которые связаны с управлением деньгами и криптовалютами или их инвестированием, включая персональные консультации.
Мы не допускаем Действия, которые открывают пользователям доступ к вводящим в заблуждение или вредоносным финансовым продуктам и услугам. Мы также не разрешаем Действия, которые позволяют майнить криптовалюту на устройствах.
Если ваше действие содержит или продвигает финансовые продукты и услуги, вы должны соблюдать государственные и местные правила для всех юрисдикций, в которых доступно ваше действие.
Мы не допускаем Действия, которые предоставляют услуги или хранят конфиденциальные финансовые данные в нарушение применимых юридических обязательств. Google не может гарантировать, что платформа Actions on Google может соответствовать всем требованиям, установленным финансовыми положениями.
Финансовые данные или данные аутентификации не могут быть собраны через диалоговый интерфейс. Сюда входят, например, номера банковских счетов или кредитных карт, а также PIN-коды / пароли. ПИН / пароли, уникальные для платформы Actions on Google, разрешены при связывании учетной записи.
Одноранговые передачи не разрешены, если не используются Действия приложения. Действия, которые предоставляют информацию о банковском счете, например кредитный баланс, должны обеспечивать привязку аккаунтов.
Разрешены действия, предоставляющие общую финансовую информацию, включая процентные ставки и цены на акции.
Скорая помощь
Мы не разрешаем Действия, которые позволяют пользователям связываться со службами экстренной помощи, такими как службы 911 или 999.
Поддержка языков
Для каждого языка, поддерживаемого вашим действием, информация о каталоге (описания, политика конфиденциальности и т. Д.)), грамматики и текст для преобразования текста в речь должны преимущественно быть на одном языке.
Материалы для взрослых и оскорбления
Если ваше действие содержит контент, который может быть неприемлемым для широкой аудитории или часто содержит ненормативную лексику, он должен включать отказ от ответственности в начале первого разговора пользователя с действием и в описании каталога помощника.
Вот несколько примеров контента, для которого может потребоваться заявление об отказе от ответственности:
- Новостные репортажи, содержащие непристойные или подстрекательские высказывания без цензуры.
- Контент сексуального характера или демонстрация обнаженной натуры в образовательных целях.
- Контент, который может быть кровавым, тревожным или травмирующим для пользователей.
Если ваше действие направлено на оскорбление пользователей, в том числе из соображений юмора, или содержит контент, который может быть оскорбительным для широкой аудитории, обнаружение вашего действия может быть ограничено.
Пользовательский контент
Пользовательский контент (UGC) - это контент, который пользователь вносит в действие и который виден или доступен по крайней мере подмножеству пользователей действия.Если ваше действие содержит пользовательский контент, оно должно включать заявление об отказе от ответственности в начале первого разговора пользователя с действием и в описании каталога помощника.
Запрещены действия, основной целью которых является размещение нежелательного пользовательского контента. Аналогичным образом, Действия, которые в конечном итоге используются в основном для распространения нежелательного пользовательского контента или которые создают среди пользователей репутацию места, где такой контент процветает, также будут удалены.
Вот несколько примеров нарушений:
- Продвижение контента откровенно сексуального характера, созданного пользователями, включая реализацию или разрешение платных функций, которые в основном поощряют распространение нежелательного контента.
- Действия с пользовательским контентом, в которых отсутствуют достаточные меры защиты от угроз, преследований или издевательств, особенно в отношении несовершеннолетних.
- Публикации, комментарии или фотографии в рамках Действия, которые в первую очередь предназначены для преследования или выделения другого человека для оскорблений, злонамеренных атак или насмешек.
- Действия, при которых постоянно не рассматриваются жалобы пользователей на нежелательный контент.
Интеллектуальная собственность
Мы не разрешаем Действия или учетные записи разработчиков, которые нарушают права интеллектуальной собственности других лиц, включая права на товарные знаки, авторские права, патенты, коммерческую тайну и другие права собственности.Мы также не допускаем Действия, которые поощряют или побуждают к нарушению прав интеллектуальной собственности.
Мы ответим на четкие уведомления о предполагаемом нарушении авторских прав. Чтобы получить дополнительную информацию или подать запрос в соответствии с Законом о защите авторских прав в цифровую эпоху, посетите наши процедуры защиты авторских прав.
Если вы являетесь владельцем товарного знака и считаете, что действие нарушает ваши права на товарный знак, мы рекомендуем вам обратиться непосредственно к разработчику, чтобы решить вашу проблему. Если вы не можете прийти к соглашению с разработчиком, отправьте жалобу на использование товарного знака через эту форму.
Выдача себя за другое лицо
Мы не разрешаем Действия, которые вводят пользователей в заблуждение, выдавая себя за кого-то другого (например, другого разработчика, компанию, юридическое лицо) или другое Действие, или ложно заявляя о принадлежности. Это включает неправильное использование значков, описаний, отображаемых имен или других функций действий, которые могут ввести пользователей в заблуждение.
Вот несколько примеров нарушений:
- Заявление о том, что является поставщиком или поставщиком торговой марки без разрешения владельца торговой марки.
- Использование в вашем действии значка, владельцем которого вы не являетесь.
- Заявление о «официальном» действии бренда или компании без разрешения владельца бренда.
Несанкционированное использование материалов, защищенных авторским правом
Мы не допускаем действий, нарушающих авторские права. Изменение содержания, защищенного авторским правом, все равно может привести к нарушению. От разработчиков может потребоваться предоставить доказательства своих прав на использование контента, защищенного авторским правом.
Пожалуйста, будьте осторожны при использовании защищенного авторским правом контента, чтобы продемонстрировать функциональность вашего Действия.В общем, самый безопасный подход - создать что-то оригинальное.
Вот несколько примеров защищенного авторским правом контента, который часто используется без разрешения или по законной причине:
- Обложки музыкальных альбомов, видеоигр и книг.
- Рекламные изображения из фильмов, телевидения или видеоигр.
- Произведения или изображения из комиксов, мультфильмов, фильмов, музыкальных клипов или телевидения.
Поощрение нарушения авторских прав
Мы не допускаем действий, которые побуждают или поощряют нарушение авторских прав.Прежде чем опубликовать свое действие, поищите способы, которые могут способствовать нарушению авторских прав, и при необходимости обратитесь за юридической консультацией.
Вот несколько примеров нарушений:
- Действия потоковой передачи, позволяющие пользователям загружать локальную копию содержимого, защищенного авторским правом, без авторизации.
- Действия, побуждающие пользователей транслировать и скачивать произведения, защищенные авторским правом, включая музыку и видео, в нарушение применимого закона об авторских правах.
Нарушение прав на товарный знак
Мы не допускаем действий, нарушающих права других лиц.Товарный знак - это слово, символ или комбинация, которые определяют источник товара или услуги. После приобретения товарный знак предоставляет владельцу исключительные права на использование товарного знака в отношении определенных товаров или услуг.
Нарушение прав на товарный знак - это ненадлежащее или несанкционированное использование идентичного или аналогичного товарного знака таким образом, который может вызвать путаницу в отношении источника этого продукта. Если ваше действие использует товарные знаки другой стороны таким образом, что это может вызвать путаницу, ваше действие может быть удалено.
Подделка
Мы не допускаем Действия, которые продают или продвигают продажу поддельных товаров. Поддельные товары содержат товарный знак или логотип, который идентичен или практически неотличим от товарного знака другого товара. Они имитируют фирменные черты продукта, пытаясь выдать себя за подлинный продукт владельца бренда.
Обманчивое поведение
Мы не разрешаем Действия, которые пытаются обмануть пользователей. Действия должны обеспечивать точное раскрытие их функциональных возможностей и выполняться в соответствии с разумными ожиданиями пользователя.Действия не должны имитировать работу системы или предупреждения любого рода. Любые изменения в настройках устройства должны производиться с ведома и согласия пользователя и должны быть легко отменены пользователем.
Заявления, вводящие в заблуждение
Мы не разрешаем Действия, содержащие ложную или вводящую в заблуждение информацию или утверждения, включая произношение, описание, отображаемое имя или значок. Не пытайтесь подразумевать поддержку или отношения с другим лицом там, где их нет.
Примеры вводящих в заблуждение заявлений включают:
Неправильное представление или неточное и ясное описание функциональности действия, например:
- Действие, которое в своем описании или произношении заявляет, что является службой доставки еды, но на самом деле является службой совместного использования пассажиров.
- Действие, которое утверждает, что это служба бронирования ресторанов, но содержит только отзывы о ресторанах.
- Действие, которое использует отображаемое имя, связанное с кофе, но на самом деле является службой доставки пиццы.
- Действие, которое утверждает, что предоставляет забавные факты о животных, но может предоставлять только факты о кошках, а не о животных в целом.
Искажение текущего статуса или показателей в Справочнике (например, «Выбор редакции», «Действие № 1»).
Содержит вводящий в заблуждение контент, который может помешать участию в гражданских мероприятиях, таких как участие в переписи населения или процедуры публичного голосования.
Ложное заявление об аффилированности с государственным учреждением или оказание содействия в предоставлении государственных услуг, на выполнение которых они должным образом не уполномочены.
Содержит вводящий в заблуждение контент, который может помешать процедурам публичного голосования.
Показывает медицинские или связанные со здоровьем функции или контент, вводящий в заблуждение или потенциально опасный.
Заявление о невозможности реализации функциональности.
Действия, которые неправильно отнесены к категории в списке Assistant Directory.
Введение пользователя в заблуждение относительно содержания или назначения ссылки.
Управляемые среды
Мы не допускаем Действия, которые продвигают или помогают создавать ложную или вводящую в заблуждение информацию или заявления, передаваемые с помощью изображений, аудио, видео и / или текста. Мы не допускаем Действия, направленные на продвижение или сохранение заведомо вводящих в заблуждение или вводящих в заблуждение изображений, видео и / или текстов, которые могут причинить вред в связи с деликатным событием, политикой, социальными проблемами или другими вопросами, вызывающими общественный интерес.
Действия, которые манипулируют или изменяют медиаданные, помимо обычных и редакционно приемлемых корректировок для ясности или качества, должны заметно раскрывать носители с измененными водяными знаками, когда обычному человеку может быть непонятно, что носитель был изменен. Исключения могут быть сделаны для общественных интересов, явной сатиры или пародии.
Вот несколько примеров нарушений:
- Действия по привлечению общественного деятеля к демонстрации во время политически чувствительного мероприятия.
- Действия, которые изменяют медиаклипы для имитации передачи новостей.
Несанкционированное использование или имитация функциональности системы
Мы не разрешаем Действия, которые имитируют или мешают работе устройства или Ассистента, например световые индикаторы, уведомления или предупреждения.
Примеры запрещенного поведения:
- Использование голоса для Действия, имитирующего голос Google Ассистента.
- Имитация системных уведомлений или предупреждений.
- Притворяется Google.
Спам и минимальная функциональность
Как минимум, Actions должны предоставлять пользователям базовую функциональность и удобное взаимодействие с пользователем. Действия, приводящие к сбою или демонстрирующие другое поведение, несовместимое с функциональным интерфейсом пользователя, не допускаются. Сюда входят неполные действия, которые могли быть отправлены в качестве теста.
Мы не разрешаем Действия, которые рассылают спам пользователей или Каталог посредством нежелательных или повторяющихся действий.Эти Действия не расширяют каталог значимым образом.
Вот несколько примеров нарушений:
- Действия, которые отправляют контент на мобильные устройства пользователей без их разрешения или отправляют избыточный или нерелевантный контент с помощью API обновления.
- Действия, основная цель которых - привлечь трафик на веб-сайт или приложение.
- Отправка нескольких повторяющихся действий в каталог помощника.
Мы не разрешаем Действия, которые отправляют SMS, электронную почту или другие сообщения от имени пользователя, без предоставления пользователю возможности подтвердить содержание и предполагаемых получателей.
Веб-просмотры и партнерский контент
Мы не разрешаем Действия, основной целью которых является привлечение партнерского трафика на веб-сайт или обеспечение просмотра веб-сайта без разрешения владельца или администратора веб-сайта.
Вот несколько примеров нарушений:
- Действие, основной целью которого является привлечение реферального трафика на веб-сайт для получения кредита за регистрацию или покупки пользователей на этом веб-сайте.
- Действия, основная цель которых - обеспечить просмотр веб-сайта без разрешения
Повторяющееся содержание
Мы не разрешаем Действия, которые просто обеспечивают тот же опыт, что и другие Действия, уже существующие на платформе Действия на Google.Действия должны приносить пользу пользователям за счет создания уникального контента или услуг.
Вот несколько примеров нарушений:
- Копирование содержимого из других действий без добавления исходного содержимого или значения.
- Создание нескольких действий с очень похожими функциями, содержимым и пользовательским интерфейсом. Если каждое из этих действий имеет небольшой объем содержимого, разработчикам следует подумать о создании одного действия, которое объединяет все содержимое.
Конфиденциальность и безопасность
Данные пользователя
Вы должны быть прозрачными в том, как вы обрабатываете данные пользователя (например, информацию, предоставленную пользователем, собранную о пользователе и собранную об использовании пользователем Действия или устройства). Эта политика устанавливает минимальные требования к конфиденциальности Справочника; от вас или вашего Действия может потребоваться соблюдение дополнительных ограничений или процедур, если этого требует действующее законодательство. Дополнительные требования к конфиденциальности в отношении Actions for Families см. В требованиях программы Actions for Families.
Все действия должны:
Укажите ссылку на политику конфиденциальности в специальном поле Справочника
Политика конфиденциальности должна, вместе с любыми раскрытиями информации в действии, всесторонне раскрывать, как ваше Действие собирает, использует и передает пользовательские данные, включая типы сторон, которым они передаются. Он должен быть написан на каждом из языков, для которых включено ваше действие. Вы должны ограничить использование данных действиями, описанными в раскрытиях.Вы должны разрешить поисковым роботам Google получать доступ и сканировать содержание документа о конфиденциальности.
Безопасная обработка всех пользовательских данных
Все передачи пользовательских данных должны использовать современную криптографию, а взаимодействие вашего Действия с Действиями в API Google должно использовать HTTPS.
Запросить конфиденциальные данные пользователя через Permissions API
Все запросы о местонахождении и имени пользователя.
Точно опишите причину запроса данных пользователя или установите привязку учетной записи
Вы должны ясно и точно указать законную деловую причину для запроса данных пользователя, включая адрес электронной почты, номер телефона, дату рождения, пол или личные предпочтения.Если вы используете Permissions API, вы должны указать это в поле «context» в соответствующем методе.
Действия не могут запрашивать следующие данные через диалоговый интерфейс (текст, изображение или речь) во всех сценариях.
Платежные или финансовые данные
Примеры: номера кредитных и банковских счетов. См. Политику в отношении финансовых услуг.
Аутентификационные данные
Примеры: сюда входят полные или частичные пароли или PIN-коды.
Примечание: Могут быть запрошены одноразовые пароли или ответы на контрольные вопросы, если была реализована привязка учетных записей.Идентификационные данные
Примеры: номер паспорта, национальный идентификационный номер, номер социального страхования, номер водительского удостоверения или налоговый идентификатор.
Медицинские данные
См. Политику работоспособности.
Конфиденциальная личная информация
Примеры: запрос об этнической принадлежности, политической принадлежности, сексуальной ориентации или религиозной принадлежности.
Привязка и идентификация аккаунта
Вы можете использовать Google Sign-In и / или API связывания аккаунтов с OAuth 2 для создания связи между пользователем Google и существующей учетной записью, не принадлежащей Google, в вашей системе. При реализации связывания учетных записей с использованием OAuth вы должны владеть конечной точкой OAuth или контролировать ее с помощью поставщика услуг OAuth. Не указывайте URL-адреса от поставщиков удостоверений непосредственно в конфигурации Actions on Google. Допускается только одна конфигурация OAuth для каждого пакета действий.
Не используйте какие-либо другие методы для связывания пользователя Google с учетной записью в вашей системе, включая использование связи из другого Действия, участвующего в связывании учетной записи или запрашивающего адрес электронной почты или номер телефона. Например, если вы предлагаете несколько действий, требующих привязки учетной записи, каждое действие должно независимо использовать API привязки учетных записей - с использованием конфигурации, определенной в соответствующем пакете действий, - чтобы связать пользователя Google с существующей учетной записью.
Если вы инициируете привязку учетной записи в середине разговора, то перед запуском процесса привязки учетной записи вы должны объяснить, почему вы предлагаете пользователю связать свою учетную запись.
Не запрашивайте у Google область действия OAuth, если пользователь не входит в вашу службу с помощью входа в систему. Не поощряйте пользователей соглашаться на дополнительные области действия Google OAuth, направляя их на веб-сайт или действие.
Если Google не сможет проверить и протестировать возможность связывания аккаунтов действия, оно не будет одобрено. Сюда входят действия, которые предоставляют недопустимые учетные данные для тестирования или не обновляют свои учетные данные.
Вредоносное поведение
Мы не разрешаем Действия, которые крадут данные, тайно отслеживают или причиняют вред пользователям или являются вредоносными по иным причинам.
Мы не разрешаем Действия, которые мешают, нарушают, повреждают или получают несанкционированный доступ к устройству пользователя или другим устройствам, компьютерам, серверам, сетям, интерфейсам прикладного программирования (API) или службам. Сюда входят другие Действия, любые службы Google и сеть устройства.
Все действия по сбору пользовательских данных должны соответствовать политике в отношении пользовательских данных и полностью раскрывать свои функции.
Однозначно запрещены:
- Вирусы, троянские программы, вредоносное ПО, шпионское ПО и любое другое вредоносное ПО.
- Поощрение или содействие распространению или установке вредоносного программного обеспечения.
- Введение или использование уязвимостей системы безопасности.
- Кража аутентификационной информации пользователя (например, имен пользователей или паролей).
- Обманом вынуждает пользователей раскрыть личную информацию или информацию для аутентификации.
- Указывает, что действие было закрыто или завершено, но запись пользователя продолжается.
- Выполнение других действий без предварительного согласия пользователя.
- Тайный сбор информации об использовании устройства.
Действия и их списки в Справочнике не должны предоставлять никаких средств для активации или доступа к функциям, которые нарушают эти условия.
Уязвимости в системе безопасности
Если ваше действие связано с уязвимостью безопасности, которая может быть использована для компрометации другого действия, приложения, устройства или службы, мы можем удалить ее для защиты пользователей.
Каналы данных
Если вы предоставляете нам каталоги, меню или другие данные через канал данных или другой механизм, данные должны соответствовать этим политикам, включая разделы о Запрещенном контенте и Интеллектуальной собственности.Вы должны правильно выполнить все технические требования и предоставить контент для всех обязательных полей. Предоставляемые данные должны соответствовать варианту использования фида и быть точными. Мы можем отключить канал (или его часть), отключить использование данных или удалить любые связанные Действия за нарушения этих политик или если они создают неудобства для пользователей.
Монетизация и реклама
Объявления
Никакая реклама в чате не разрешена.
Продвижение
Мы не допускаем Действия, которые прямо или косвенно участвуют или извлекают выгоду из методов продвижения, которые вводят в заблуждение или наносят вред пользователям или экосистеме разработчиков.Сюда входят Действия, которые проявляют следующее поведение:
- Использование обманчивой рекламы на веб-сайтах, действиях или других ресурсах, включая уведомления, похожие на системные уведомления и предупреждения.
- Манипулирование или завышение статистики использования, рейтингов, рейтингов или обзоров продуктов.
- Тактика продвижения или вовлечения, которая перенаправляет пользователей на загрузку приложений или запускает другие действия без осознанных действий пользователя.
- Участие в незапрошенной рекламе с помощью SMS-сообщений.
- Предложение компенсации за использование Действия, включая деньги, цифровые или физические товары.
Вы несете ответственность за то, чтобы любые рекламные сети или аффилированные лица, связанные с вашим действием, соблюдали эти политики и не применяли какие-либо запрещенные методы продвижения.
транзакции
Все действия должны соответствовать этим требованиям:
- Не направляйте пользователей прямо на веб-сайт, номер телефона, мобильное приложение или альтернативный способ оплаты для завершения транзакции, будь то в рамках действия с помощью ссылок или чипов предложений, или в описании действия.Например, не предлагайте пользователю посетить веб-сайт, действие или физическое местоположение (или предоставить чип ссылки) с призывом к действию для оплаты или оплаты. Это ограничение не распространяется на Действия приложений.
- Если ваше действие позволяет пользователям выполнять транзакцию с физическими товарами или услугами, а также делать резервирование или бронирование, оно должно реализовывать API транзакций для Ассистента. Добавление товаров в корзину не считается транзакцией.
- Если ваши Действия позволяют пользователям выполнить цифровую транзакцию или купить подписку, он должен реализовать API цифровой покупки.
Следующие покупки и транзакции (любое соглашение между пользователем и компанией о предоставлении товара или услуги) поддерживаются в Actions on Google:
Физические товары или услуги, в том числе:
- Покупка или продажа физических товаров (таких как продукты, одежда, предметы домашнего обихода)
- Покупка физических услуг (таких как автосервис, уборка, авиабилеты, доставка еды, билеты на живые мероприятия)
- Бронирование и бронирование (например, гостиничных номеров)
- Услуги пополнения
Цифровые товары или услуги, в том числе:
- Покупка цифровых товаров (таких как виртуальная валюта, дополнительные жизни, дополнительное игровое время и специальные предметы)
- Услуги по подписке (например, услуги по фитнесу, знакомствам, образованию и подписке на контент)
- Доступ к функциям и функциям Action (например, к контенту или услугам)
В настоящее время Actions on Google не поддерживает денежные переводы от одного пользователя к другому ни напрямую, ни через лицензированный переводчик денег, ни через пожертвования благотворительным или политическим организациям.Это ограничение не распространяется на Действия приложений.
Требования к API транзакций и API цифровых покупок
Все действия, реализующие API транзакций, API цифровых покупок (биллинговый сервис Google Play) или использующие прямые действия (включая API прямого действия для заказа еды), должны соответствовать следующим требованиям:
- Соблюдайте Условия транзакции в условиях обслуживания Actions on Google.
- Внедрите все необходимые методы и параметры, включая правильную обработку заказов и подтверждения, и не создавайте повторяющиеся заказы.
- Предоставляйте точную и своевременную информацию, включая цены и описания.
- Обеспечьте собственное обслуживание клиентов и укажите контактный телефон службы поддержки и / или адрес электронной почты.
- Используйте личную информацию, полученную через диалоговый интерфейс, только для облегчения этой транзакции, включая отправку квитанций, подтверждений и обновлений. Вы должны самостоятельно получить согласие пользователя (посредством согласия) на использование этой информации для любых других целей, включая маркетинг.
Только для действий с использованием API цифровой покупки:
- Только функции или услуги, купленные в рамках действия или на другой платформе под тем же названием, что и действие, могут быть доступны пользователю на платформе Actions on Google. Действия
- не должны прямо или косвенно приводить пользователей к способу оплаты, отличному от API цифровой покупки, как внутри, так и за пределами Действия.
Для действий, использующих только API транзакций (поскольку Google не предоставляет эти функции):
- Внедрите все необходимые API обратного вызова, связанные с обновлением статуса транзакции в указанные периоды времени и любыми последующими действиями.
- Предоставьте всем пользователям точную и детализированную квитанцию по электронной почте и правильно установите все связанные параметры для транзакций, по которым осуществляется обмен денег.
Именование и список каталогов
Произношение вашего действия и отображаемое имя Ассистента - это то, как пользователи взаимодействуют с Действиями и открывают для себя их. Список вашего действия существенно влияет на качество Справочника, поэтому избегайте рассылки спама, некачественной рекламы и всего, что искусственно повышает видимость вашего действия.Заполните все данные, необходимые для списка Справочника, включая предоставление видимых непустых значков.
Список вашего действия в каталоге (включая имя, описания и т. Д.) Должен соответствовать политике запрещенного содержания и интеллектуальной собственности и не содержать вульгарных, откровенно сексуальных или оскорбительных слов.
Требования к названию
Все действия должны иметь фонетически уникальное произношение, которое позволит пользователям запускать функциональные возможности действия.Произношение действий уникально для каждого языка, поэтому после утверждения имени никакое другое действие не может зарегистрировать такое же фонетическое имя на том же языке. В вашем каталоге в каталоге должно быть хотя бы одно примерное произношение, каждое из которых должно включать название вашего действия, например "Talk to Google Shopping", и постоянно запускать ваше действие.
Имена должны соответствовать следующим требованиям:
- Однословные имена не допускаются, если имя не является уникальным для вашего бренда или товарного знака в регионах, в которых доступно ваше действие.Инструкции по запросу исключения для отдельных стран приведены ниже. Составные слова, разбитые на несколько слов, не обойдут это требование. Например, клавиатура считается одним словом.
- Имена из двух слов не допускаются, если одно из слов является определенным артиклем ( ), неопределенным артиклем ( или ), местоимением (например, мой ) или предлогом ( вместо , С по или из ). Например, ваше имя не должно быть , велосипед , эспрессо , для развлечения или для развлечения .
Имя однозначно определяет ваше действие, поэтому оно должно отличаться от других действий и основных функций Ассистента. Запрещены имена:
- Общие фразы (например, спасибо , как дела? , доброе утро )
- Смущающе похож на основные функции Ассистента (например, остановить, отправить отзыв, выключить свет, показать мне видео, какая погода, пропустить эту песню, установить температуру и т. Д.)
- Может сбивать пользователей с толку, заставляя думать, что они взаимодействуют с Google или что Google продвигает, поддерживает или спонсирует контент, представленный в действии (например, ваше любимое действие, лучшее музыкальное приложение, самое популярное действие, наиболее популярные новости).
- Универсальный, включая слова или фразы, относящиеся к категориям продуктов, услуг или контента. Мы будем рассматривать исключения из этого запрета в индивидуальном порядке. Инструкции по запросу исключения приведены ниже.
Имена людей или мест не допускаются, если они также не содержат других слов (например,g., Гороскоп Билла или Нью-Йорк туризм ), или вы являетесь государственным учреждением этого места (например, город Нью-Йорк может зарегистрировать название Нью-Йорк ).
Некоторые слова и фразы зарезервированы и не могут использоваться в именах, в том числе, ok , Google , запуск , ask , tell , load , exit quit , volume вверх , игра , действие , помощник , навык и приложение .Проверьте свое имя на панели управления API, чтобы убедиться, что в нем нет зарезервированного слова или фразы. Мы можем делать исключения для определенных зарезервированных слов или фраз, если они используются в квалифицирующей комбинации из нескольких слов, если название не сбивает с толку и не нарушает иным образом настоящие правила. Инструкции по запросу исключения приведены ниже.
В зависимости от языка некоторые символы могут быть запрещены в поле отображаемого имени; например, языки, использующие латинский алфавит, должны содержать только строчные буквы алфавита, пробелы между словами, притяжательные апострофы (например.g., Sam's science trivia ), или точки, используемые в сокращениях (например, a. b. c. ). Другие символы, такие как числа, должны быть прописаны (например, двадцать один ).
Имена должны легко произноситься правильно и отличаться фонетически, чтобы их нельзя было неправильно истолковать как похожие по звучанию слова или другие названия действий (на одном языке). Не используйте имена, которые фонетически похожи на имена, запрещенные этой политикой, например вульгарные, оскорбительные, общие или общеупотребительные имена, даже если они написаны иначе.
При оценке этих политик мы учитываем произношение отображаемого имени, его написание в консоли и общепринятый способ написания произносимого слова (если оно есть).
Мы будем рассматривать исключения из определенных политик именования в индивидуальном порядке; вы можете запросить исключение, заполнив эту форму и запросив помощь Отображаемое имя .
Примеры общих имен:
Не допускается:
- Мой туристический агент
- Умный дом
- Продуктовый магазин
- Действие игры
Разрешено (только в иллюстративных целях и в соответствии с другими политиками)
- Использование или добавление выдуманных слов или произвольных фраз (Foobar Action, Foobar Smart Home)
- Добавление необщего названия бренда (Google Travel, Bob’s Travel Agent)
- Добавление описательных прилагательных и наречий (Fast Hotel Search, Worldly Traveler)
- Использование вашего полного доменного имени, включая домен верхнего уровня (SmartHome.com)
Согласованные наименования
Произношение вашего действия должно быть фонетической версией его отображаемого имени. Допустимые различия включают: пунктуацию, пробелы и использование цифр по сравнению с написанием чисел и порядковых номеров (например, три против 3 или третий против третьего).
Описание
Описание и другие метаданные вашего Действия должны точно описывать его функции, а также услуги или контент, которые оно предоставляет. Вот несколько рекомендаций по написанию описания вашего действия:
- Дайте четкое и краткое описание того, как ваше действие может помочь пользователям, например: «Вы можете использовать это действие для выполнения X."Слишком длинное, подробное или повторяющееся описание действия может привести к нарушению этой политики.
- Подчеркните, что хорошего в вашем действии. Делитесь интересными и захватывающими фактами, чтобы помочь пользователям понять, что делает ваше действие особенным.
- Убедитесь, что отображаемое имя, описание, значок и изображения вашего Действия точно описывают его функциональность.
- Избегайте использования чрезмерных, повторяющихся или несвязанных ключевых слов или ссылок.
- Сообщите, требует ли ваше действие оплаты за какие-либо его функции.
Отзывы пользователей не допускаются в описании Действия.
Пользовательский опыт
Для обеспечения удобного взаимодействия с пользователем ваше действие должно работать, как описано, обеспечивать высокое качество взаимодействия с пользователем и использовать возможности платформы.
Действия должны соответствовать руководству по оформлению беседы. Действия, которые значительно отклоняются от рекомендаций по проектированию пользовательского интерфейса или вызывают неудобства для пользователя, могут быть отключены с определенных поверхностей, отклонены или удалены из Справочника, в том числе для:
Предложение действия поддерживает больший набор команд, чем на самом деле, в диалоге или в списке Справочника.
- Например, если действие говорит «Спросите меня о чем-нибудь», но оно может ответить только на вопрос «Кто является президентом Соединенных Штатов?».
Прослушивание команды пользователя без подсказки, такой как приветствие, или неявного или явного вопроса. Это включает в себя открытие микрофона действия для прослушивания или записи пользователя без установки ожидания. Пользователь должен знать, когда Действие записывает ответ или команду. Примеры включают:
- Действие отвечает на вопрос пользователя, а затем начинает прислушиваться к дополнительной команде, не задавая последующий вопрос.
- Действие завершает операцию, но продолжает записывать пользователя.
- Действие начинает открывать микрофон и записывает пользователя, не сигнализируя пользователю, что Действие прослушивает команду или ответ.
Прослушивание ответов пользователя во время действия, когда микрофон остается открытым без явных или неявных подсказок и не оправдывает ожиданий пользователя относительно характера взаимодействия.
- Например, Действие по изучению языка слушает ответы, не объясняя пользователю вначале, как будет происходить взаимодействие.
Не работает должным образом на всех устройствах с поддержкой Ассистента, которые поддерживают необходимые возможности действия.
- Например, если действие работает на устройствах Google Home, но не на мобильных устройствах.
Воспроизведение звукового файла без звука без четкой цели.
- Например, если действие открывается и воспроизводит беззвучный звуковой файл без объяснения причин.
Неправильное использование функций взаимодействия на устройствах с поддержкой Ассистента.
- Например, включение светодиодных индикаторов Google Home не по назначению, отмеченному здесь.
Непрерывное преобразование текста в речь или записанный звук в течение более 240 секунд, если не используется Media Response API.
Неработающие ссылки или изображения.
Брендирование или маркировка вашего Действия во время взаимодействия с пользователем с использованием терминологии, связанной с платформой для разработчиков, не принадлежащей Google.
Отсутствие альтернативного текста и голоса для изображений в неграфических интерфейсах.
Аудио не соответствует визуальному тексту и преобразованию текста в речь в графических интерфейсах.
Регистрация или создание вводящих в заблуждение или нерелевантных намерений в отношении вашего Действия.
- Например, выбор встроенного намерения для «Заказать такси», когда ваше действие предоставляет информацию о погоде.
Включение ненужных описательных слов, таких как прилагательные, наречия или неоднозначная терминология, в подсказки.
- Например, «Купи лучшую пиццу» или «Испытай удачу».
Действия для семей
Чтобы установить, что разработчики в программе Actions for Families (AFF) продемонстрировали способность создавать семейный опыт, мы ограничиваем право на участие в программе разработчиков, которые уже создали одобренное учителем приложение в Google Play или вошли в действующее соглашение о партнерстве с Google для их семейной акции. Разработчики, чьи приложения были удалены из программы, одобренной учителем, и не заключившие в настоящее время действующее соглашение о партнерстве с Google для их семейного Action, больше не имеют права на участие в Actions for Families.
Если ваше действие нацелено на детей или предоставляет контент явно для детей, оно должно участвовать в программе Actions for Families в соответствии с этими требованиями, иначе оно не будет одобрено для выпуска на платформе. Сюда входят как Действия, нацеленные на детей как на их основную аудиторию или как на одну из их аудиторий.
Слово «ребенок» может означать разные вещи в разных местах и в разных контекстах. Важно проконсультироваться со своим юрисконсультом, чтобы определить, какие обязательства и ограничения могут применяться к вашему Действию.Разработчики AFF могут развернуть действие AFF во всех регионах, поддерживаемых Actions on Google, за исключением Марокко, Туниса и Йемена.
Требования программы
Перед тем, как подать действие в программу Actions for Families, вы должны убедиться, что ваше действие подходит для детей и соответствует всем применимым законам, включая Закон США о защите конфиденциальности детей в Интернете (COPPA) и Общий регламент ЕС о защите данных (GDPR). ).
Actions, участвующие в программе Actions for Families, должны соответствовать критериям приемлемости, указанным в этом разделе, и соответствовать Условиям использования Actions on Google, включая Дополнение Actions for Families.
Критерии отбора
- Вы демонстрируете свой опыт в качестве разработчика семейных приложений, отправляя ссылочные ссылки на ваши одобренные учителем приложения в Google Play, или вы заключили партнерское соглашение с Google для вашего семейного Действия, которое действует. Разработчики, все приложения которых удалены из программы «Одобрен учителем», и не имеющие в настоящее время действующего соглашения о партнерстве с Google в отношении действий AFF, не имеют права на участие в программе «Действия для семей».
- Your Action нацелен на детей как на свою основную аудиторию или как одну из своих аудиторий.
- Если ваше действие не нацелено на детей как на одну из своих аудиторий, например на домашнюю автоматизацию или действия по повышению производительности, оно не может участвовать в программе Actions for Families.
- Все акции для семей должны подходить для детей. Действия не могут содержать неприемлемые материалы, в том числе материалы для взрослых, грубый юмор, нецензурную лексику, насильственные или тревожные материалы или материалы для членовредительства.Действия не могут содержать материалы, пропагандирующие негативный образ тела или себя, включая развлекательные изображения пластических операций, похудания и других косметических корректировок внешнего вида человека.
- Основная цель Действия не может заключаться в широком распространении немодерируемого пользовательского контента, такого как социальная сеть или действие на форуме пользователей.
- Actions не могут собирать или запрашивать какие-либо личные данные пользователя.
- Действия не должны содержать рекламу, в том числе в потоковом медиа.Сообщения саморекламы допустимы, если тематика, содержание и язык подходят для детей.
- Действия не могут использовать немодерируемый контент в опыте, и весь контент Действия будет подвергаться периодическому аудиту на предмет соответствия. Действия
- не могут использовать вход в Google (связывание аккаунтов), запрашивать области OAuth, обращаться к большинству API пользовательских данных (за исключением приблизительного определения местоположения устройства) или обращаться к каким-либо API транзакций.
- Вы заявляете, что ваше Действие и любые API или SDK, которые вызывает или использует ваше Действие, соответствуют требованиям COPPA, GDPR и любым другим применимым законам или постановлениям.
Действия, принятые в программе Actions for Families, должны постоянно соответствовать стандартам программы, в том числе в последующих обновлениях. Действия могут отказаться от программы AFF и остаться на платформе Actions on Google только в том случае, если действие больше не нацелено на детей как на свою основную аудиторию или как одну из своих аудиторий.
Google оставляет за собой право отклонить или удалить любое Действие, которое было признано неприемлемым для программы или неприемлемым для программы Actions for Families на основании вышеуказанных критериев.
интеллектуальных устройств
Безопасность или наблюдение Действия не должны регистрировать личную информацию (PII) лиц, не являющихся основным пользователем, без их согласия. Например, «Действия дверного звонка» не могут регистрировать информацию о том, кто может находиться у двери без явного согласия этого человека.
Запрещены Действия, предписывающие движение легкового транспорта.
Мы будем сертифицировать только те действия, которые дают пользователям возможность выбирать, к какому голосовому помощнику они могут ссылаться.Мы не будем сертифицировать Действия, требующие от пользователей подключения к другому голосовому помощнику перед подключением к Google Assistant.
Подтверждение вторичного пользователя
Google требует, чтобы партнеры включили проверку вторичного пользователя для любой операции, которая может изменить состояние устройства на небезопасное или отключенное, например, разблокировка двери, выключение камеры, отключение системы безопасности или открытие устройства, которое может есть проблемы с безопасностью.
Хотя характер мер безопасности и безопасности может различаться в зависимости от типа устройства, эти устройства должны как минимум требовать привязки учетной записи и дополнительной проверки пользователя, такой как подтверждение на защищенном мобильном устройстве или пароль / PIN-код.Независимо от характера действия (диалоговое или прямое действие API умного дома), требуется добавить дополнительный уровень безопасности в соответствии с политикой Google. Однако после того, как пользователь установил вторичную проверку, вы можете предоставить пользователю возможность отказа. Язык отказа должен быть точным и понятным для пользователя.
Google рекомендует для устройств умного дома реализовать прямое действие с помощью API умного дома. Для интеграции с Умным домом здесь описаны методы вторичной проверки пользователя.
Работает с сертификатом Hey Google
Когда пользователи ищут и покупают устройства, отмеченные значком «Работает с привет, Google», они должны рассчитывать на надежную функциональность, а также безопасную, надежную и бесперебойную работу. Помимо указанной выше политики аутентификации вторичного пользователя, разработчики также должны соответствовать следующим требованиям для сертификации устройств и использования значка «Работает с привет, Google»:
Функциональность
API Google Assistant для умного дома поддерживает типы и характеристики устройств, чтобы соответствовать функциональности устройств умного дома.Представление типа устройства должно быть точным на основе идентичности самого устройства. Например, если у вас есть интеллектуальный переключатель, который управляет светом, то вы используете Тип устройства - Переключатель, поскольку он представляет собой природу физического устройства. Google предоставляет здесь руководства по устройствам и их требуемым функциям.
Кроме того, если к устройству разработчика добавляются новые характеристики устройства, разработчик должен сделать эту черту доступной для пользователей Google Assistant при запуске. Например, для цветных лампочек пользователи должны иметь возможность изменять цвет лампочек, включать и выключать лампочки, регулировать яркость лампочек и т. Д., с помощью Google Assistant.
Google оставляет за собой право не сертифицировать представленные материалы, если устройство разработчика не может интегрировать все функции, имеющиеся на устройстве, с совместимыми функциями Smart Home API, позволяющими Google Ассистенту обеспечить полноценную работу.
Государство-отчет
Ожидается, что все устройства будут сообщать об обновлениях состояния в Google через Report State API HomeGraph, за исключением устройств, работающих только с командами, таких как ИК-контроллеры. Отчет о состоянии критически важен для правильного представления состояния устройства на всех поверхностях Ассистента и службах Ассистента.Мы требуем, чтобы все партнеры, у которых есть состояние устройства, реализовали ReportState. Дополнительные сведения см. В API ReportStateAndNotifications в документации для разработчиков.
Сообщение об изменениях конфигурации пользователя
Разработчики должны сообщать об обновлениях конфигурации устройств в вашей экосистеме в Google; например, если разработчик обновляет функциональные возможности, такие как поддерживаемые характеристики, или если пользователь добавляет, переименовывает или удаляет устройство, разработчик должен сообщить об этих обновлениях в Google. Это избавляет пользователей от необходимости отключать и повторно связывать свою учетную запись для получения обновлений после того, как они сделают обновление в приложении для разработчиков.Это можно сделать с помощью API синхронизации запросов.
Постоянные соединения
Смарт-устройства, подключенные к облаку, должны иметь постоянное соединение для управления облаком, будь то через само устройство или через стационарный партнерский хаб. Мобильные устройства и планшеты нельзя использовать в качестве посредников для устройств умного дома. Для устройств с низким энергопотреблением, которые отключают устройство от его протокола подключения, такого как Wi-Fi, на устройстве должны быть реализованы методы, позволяющие выводить устройство из спящего режима для облачного управления.
Страница авторизации контроля устройств Google
В соответствии с нашей правовой политикой и политикой конфиденциальности, страница oAuth должна показывать, что ваше приложение связывает / обменивается данными с Google , а не Google Home или Google Assistant . У вас должно быть заявление об авторизации Google, например: «Выполняя вход, вы разрешаете Google доступ к своим устройствам».
Сертификат безопасности
Существуют определенные устройства, которые могут повлиять на безопасность, например устройства для приготовления пищи, которые могут быть достаточно горячими, чтобы представлять угрозу безопасности.Для любого устройства, которое потенциально может представлять повышенную угрозу безопасности, мы просим вас предоставить сертификат UL (или аналогичный сертификат безопасности) для этого устройства. Дополнительные сведения о требованиях к сертификату безопасности можно найти здесь.
Качество
Поддержание высокого уровня производительности и надежности является ключом к совместному обеспечению полезного пользовательского опыта. Партнеры могут получить доступ к показателям использования и производительности своей интеграции, посетив страницу своего проекта Google Cloud Platform.Более подробную информацию о доступе к показателям производительности можно найти здесь.
После первоначальной сертификации разработчики должны поддерживать приемлемый уровень производительности своих устройств. Есть несколько аспектов производительности:
- Задержка и надежность, связанные с выдачей команд через устройства с поддержкой Ассистента.
- Надежная привязка учетной записи и обновление токена
- Точность состояния отчета и задержка при изменении состояния отчета
Требования к качеству изложены на уровне типа устройства в документации Smart Home API.Постоянное несоблюдение этих ожиданий может привести к снижению видимости вашей интеграции или, в крайних случаях, к отключению до тех пор, пока производительность не улучшится.
Обновление сертификата
ИнтеграцияSmart Home API должна быть повторно сертифицирована, когда API будет иметь добавленную функциональность или когда ваше устройство добавляет новые возможности, которые поддерживаются Smart Home API. Это включает дополнительные устройства, которые партнер добавляет в свою интеграцию. Например, при включении новых устройств требование сертификации также должно выполняться для этих устройств.
Кроме того, интеграции должны проходить повторную сертификацию каждые 12 месяцев, начиная с момента последней повторной сертификации или добавления новых функций устройства. Это гарантирует, что вы сохраните право на получение значка Works-With, а ваша интеграция останется на хорошем счету. Отсутствие повторной сертификации приведет к аннулированию вашего разрешения на использование значка Works-With и потенциально может привести к одному или нескольким принудительным действиям против вашей интеграции Smart Home API.
Противоречивые условия
Эти политики не ограничивают и не изменяют какие-либо условия обслуживания или другие соглашения, которые применяются к использованию пользователем соответствующих продуктов или услуг Google, за исключением случаев, когда в политиках прямо указано, что они вносят поправки в определенные условия обслуживания или соглашения.
Исполнение
Если ваше Действие нарушает какую-либо из наших политик, мы можем предпринять одно или несколько принудительных действий в отношении вашего Действия или вашей учетной записи разработчика, как описано ниже. Кроме того, мы сообщим вам актуальную информацию о предпринятых нами принудительных мерах, а также инструкции о том, как подать апелляцию, если вы считаете, что мы предприняли принудительные меры по ошибке.
Обратите внимание, что уведомления об удалении или административные уведомления могут не указывать на каждое нарушение политики, присутствующее в вашем действии.Разработчики несут ответственность за решение любых проблем, связанных с политикой, и проведение дополнительных проверок, чтобы убедиться, что оставшаяся часть их Действия полностью соответствует политике. Неспособность устранить нарушения политики во всех ваших Действиях может привести к дополнительным принудительным действиям, включая безвозвратное удаление вашего Действия или прекращение действия учетной записи.
Неоднократные или серьезные нарушения (например, вредоносное ПО, мошенничество и Действия, которые могут нанести вред пользователю или устройству) условий обслуживания или политик для Actions on Google могут привести к прекращению отдельных или связанных действий в учетных записях разработчиков Google.
Отклонение
- Новое действие или обновление действия, отправленное на рассмотрение, не будет доступно в Google Assistant.
- Если обновление существующего действия было отклонено, версия действия, опубликованная до обновления, останется доступной в Google Assistant.
- Отклонения не влияют на ваш доступ к существующим пользовательским установкам, статистике и оценкам отклоненного действия.
- Отклонения не влияют на репутацию ваших действий в аккаунте разработчика Google.
- Если ваше действие является мульти-локалью, отклонение в одной из локалей приведет к отклонению действия в любой локали.
Удаление
- Действие вместе с любыми предыдущими версиями этого действия удаляется из Google Assistant и больше не будет доступно для пользователей ни в каком регионе.
- Поскольку действие удалено, пользователи не смогут видеть его список в Справочнике, установки пользователей, статистику и рейтинги или вызывать его.Эта информация будет восстановлена после того, как вы отправите соответствующее политике обновление для удаленного действия.
- Пользователи не смогут совершать покупки в действии или использовать какие-либо функции выставления счетов в действии в действии до тех пор, пока Google не утвердит версию, соответствующую политике.
- Удаление не сразу влияет на репутацию ваших действий в аккаунте разработчика Google
Ограниченная видимость
- Доступность вашего действия в Google Ассистенте может быть ограничена. Действие останется в Google Assistant и будет доступно пользователям по явному произношению.
- Если ваше действие находится в состоянии ограниченной видимости, это не влияет на репутацию других ваших действий в учетной записи разработчика Google.
Прекращение действия счета
- Когда действие вашей учетной записи разработчика будет прекращено, все Действия в вашем каталоге будут удалены из Google Assistant, и вы больше не сможете публиковать новые Действия.Это также означает, что все связанные учетные записи разработчиков Google Assistant также будут заблокированы без возможности восстановления.
- Множественная блокировка или блокировка за вопиющие нарушения политики также может привести к прекращению действия вашей учетной записи Actions on Google.
- Поскольку Действия в закрытой учетной записи удалены, пользователи не смогут видеть существующий список действий в Каталоге, существующие установки пользователей, статистику и оценки.
Обжалование исполнительного производства
Мы восстановим Actions, если была допущена ошибка и мы обнаружим, что ваше Action не нарушает условия обслуживания и политики для Actions on Google. Если вы внимательно изучили правила и считаете, что наши меры по обеспечению соблюдения могли быть ошибочными, следуйте инструкциям, приведенным в нашем уведомлении для вас, чтобы обжаловать наше решение. Вы также можете связаться с нами здесь.
История изменений
- 3/11/2021 - Обновления политики в отношении интеллектуальных устройств, а также политики в отношении алкоголя, табака и наркотиков.
- 1/11/2021 - Обновления политик Actions for Families.
- 10.07.2020 - Реструктуризация страницы политик перемещена по разным категориям. Это включает в себя перенос транзакций и продвижения в монетизацию и рекламу, а также создание новых категорий для интеллектуальных устройств и взаимодействия с пользователем. Добавлены дополнительные примеры и контекст для всех категорий в разделах «Ограничения содержимого», «Обманчивое поведение» и «Интеллектуальная собственность». Политика в отношении спама была расширена, чтобы включить требования к минимальной функциональности, и добавлена новая политика в отношении манипулируемых носителей.Добавлен новый раздел, описывающий наш процесс принудительного исполнения.
- 08.10.2019 - Обновлена политика заявлений, вводящих в заблуждение.
- 29.07.2019 - Внесены изменения во введение в разделы Политики действий в отношении Google, Безопасность детей, Финансовые услуги, Пользовательские данные, Действия для семей и Транзакции.
- 07.05.2019 - Внесены изменения в политику транзакций, относящуюся к действиям приложения.
- 18.04.2019 - Внесены изменения в политику здоровья.
- 06.02.2019 - Внесены изменения в политику взаимодействия с пользователем, насилие и опасные действия.
- 1/8/2019 - Внесены незначительные изменения в политику работоспособности, политику транзакций, политику интеллектуальных устройств, политику спама и политику взаимодействия с пользователем.
- 06.11.2018 - Список стран, в которых поддерживаются транзакции, перемещен в соответствующие руководства.
- 11.10.2018 - Обновлена политика AFF, чтобы охватить дополнительные языковые стандарты.
- 04.10.2018 - Обновлена политика транзакций для включения цифровых товаров и включена функция входа в Google в качестве опции для привязки учетной записи и идентификации.
- 25.09.2018 - Обновлена политика AFF для включения новых рынков.
- 06.09.2018 - Обновлена политика взаимодействия с пользователем в отношении неявных и явных подсказок и внесены исправления в политику транзакций.
- 17.07.2018 - Добавлена политика уязвимостей и внесены небольшие поправки в политику рекламных акций, политику транзакций, требования к имени и политику взаимодействия с пользователем. Кроме того, мы добавили дополнительный вводный язык, определяющий наш подход к обеспечению соблюдения наших политик и взаимодействию с разработчиками.
- 22.05.2018 - В политику в отношении насилия и опасной деятельности внесены поправки, запрещающие действия, способствующие продаже взрывчатых веществ, оружия, огнестрельного оружия и связанных с ними компонентов.Мы также расширили доступ к программе «Действия для семьи», включив в нее Великобританию, Францию, Италию, Германию и Японию.
- 27.03.2018 - Добавлено несколько новых политик, включая политику финансовых услуг и политику в отношении алкоголя и табака. Политика Home Automation была расширена и переименована в политику Smart-Enabled Devices. Переформатирование или незначительные изменения были внесены в политику работоспособности, политику транзакций, политику пользовательских данных и политику взаимодействия с пользователем.
- 01.02.2018 - Пользовательский интерфейс, Пользовательский контент, Контент для взрослых, Пользовательские данные (конфиденциальность), Обновить API (в политике спама), Добавлена политика приложений для экстренных служб.
- 04.10.2017 - Обновлены разделы «Незаконная деятельность», «Здоровье», «Связывание учетных записей», «Требования к имени» и «Транзакции». Раздел «Дети» был заменен новым разделом «Приложения для всей семьи».
- 17.05.2017 - Внесены изменения для решения нескольких новых функций, включая транзакции, визуальные пользовательские интерфейсы и интеграцию умного дома. Мы добавили политику, касающуюся предупреждений о зрелом контенте, и прояснили части разделов «Именование», «Список каталогов», «Продвижение» и «Пользовательский интерфейс».
- 08.02.2017 - Обновлены разделы «Азартные игры», «Другие ограничения» и «Пользовательский интерфейс». Несколько политик были обновлены и объединены в новый раздел «Именование, листинг в магазине и продвижение». Также были внесены разные несущественные изменения.
Портал разработчика EOSIO - документация для разработки EOSIO
Список классов > eosio :: действие
Открытые атрибуты
Общедоступные функции
Подробное описание
Это упакованное представление действия вместе с метаданными об уровнях авторизации.
Документация по публичным атрибутам
переменный счет
имя eosio :: action :: account;
Имя аккаунта, для которого предназначена акция
имя переменной
имя eosio :: действие :: имя;
Название акции
разрешение переменных
std :: vector eosio :: action :: authorization;
Список разрешений, разрешающих это действие
переменные данные
std :: vector eosio :: action :: data;
Данные полезной нагрузки
Документация по публичным функциям
функция действие (1/3)
eosio :: action :: action () = по умолчанию
Конструктор по умолчанию
функция действие (2/3)
шаблон
eosio :: действие :: действие (
const permission_level и авторизация,
имя структуры a,
имя структуры n,
T && стоимость
)
Создать новый объект действия с данным разрешением, получателем действия, именем действия, структурой действия
Параметры шаблона:
- T - Тип структуры действия, должна быть сериализуема с помощью пакета
(...)
Параметры:
- auth - Разрешения, которые разрешают это действие
- a - Имя учетной записи, для которой предназначено это действие (получатель действия)
- n - Название акции
- значение - Структура действия, которая будет сериализована через пакет в данные
функция действие (3/3)
шаблон
eosio :: действие :: действие (
std :: vector auths,
имя структуры a,
имя структуры n,
T && стоимость
)
Создать новый объект действия с заданным списком разрешений, получателем действия, именем действия, структурой действия
Параметры шаблона:
- T - Тип структуры действия, должна быть сериализуема с помощью пакета
(...)
Параметры:
- auths - Список разрешений, которые разрешают это действие
- a - Имя учетной записи, для которой предназначено это действие (получатель действия)
- n - Название акции
- значение - Структура действия, которая будет сериализована через пакет в данные
функция отправки
void eosio :: action :: send () const
Отправить действие как встроенное действие
функция send_context_free
void eosio :: action :: send_context_free () const
Отправить действие как встроенное контекстно-свободное действие
Предварительные условия:
Это действие не должно содержать никаких авторизаций
функция data_as
шаблон
Т еосио :: действие :: data_as ()
Получить распакованные данные как T
Параметры шаблона:
Возврат:
данные действия
Документация для этого класса была создана из следующего файла: библиотеки / eosiolib / contract / eosio / action.hpp
createSlice | Redux Toolkit
Функция, которая принимает начальное состояние, объект функций-редукторов и «имя среза», и автоматически генерирует создателей действий и типы действий, соответствующие редюсерам и состоянию.
Этот API - стандартный подход для написания логики Redux.
Внутри он использует createAction
и createReducer
, поэтому
вы также можете использовать Immer для написания "изменяющихся" неизменяемых обновлений:
import {createSlice, PayloadAction} from '@ reduxjs / toolkit'
interface CounterState {
value: number
}
const initialState = {value: 0} как CounterState
const counterSlice = createSlice ({
name: 'counter',
initialState,
reducer: {
increment (state) {
state.значение ++
},
декремент (состояние) {
state.value -
},
incrementByAmount (состояние, действие: PayloadAction ) {
state.value + = action.payload
},
},
})
экспорт const {increment, декремент, incrementByAmount} = counterSlice.actions
экспорт по умолчанию counterSlice.reducer
Скопировать import {createSlice} из '@ reduxjs / toolkit'
const initialState = {value: 0}
const counterSlice = createSlice ({
name: 'counter',
initialState,
reducer: {
increment (state) {
state.значение ++
},
декремент (состояние) {
state.value -
},
incrementByAmount (состояние, действие) {
state.value + = action.payload
},
},
})
экспорт const { инкремент, декремент, инкремент : string,
initialState: any,
редукторов: Object
extraReducers ?:
| Object
| ((builder: ActionReducerMapidBuilder>) voilder )
})
Копировать initialState
Начальное значение состояния для этого фрагмента штат.
имя
Строковое имя для этой части состояния. Сгенерированные константы типа действия будут использовать это как префикс.
редукторов
Объект, содержащий Redux-функции «редуктора» (функции, предназначенные для обработки определенного типа действия, эквивалент в один оператор case в переключателе).
Ключи в объекте будут использоваться для генерации констант строкового типа действия, и они будут отображаться в Redux. DevTools Extension при их отправке.Кроме того, если какая-либо другая часть приложения отправляет действие с точно такой же строкой типа будет запущен соответствующий редуктор. Следовательно, вы должны дать функциям описательные имена.
Этот объект будет передан в createReducer
, поэтому редукторы могут безопасно "видоизменить"
заявляют, что они даны.
импорт {createSlice} из '@ reduxjs / toolkit'
const counterSlice = createSlice ({
name: 'counter',
initialState: 0,
редукторов: {
increment: (state) => state + 1,
},
})
Скопируйте import {createSlice} из '@ reduxjs / toolkit'
const counterSlice = createSlice ({
name: 'counter',
initialState: 0,
reducer: {
increment : (state) => state + 1,
},
})
КопироватьНастройка создателей созданных действий
Если вам нужно настроить создание значения полезной нагрузки создателя действия с помощью команды prepare обратного вызова
, значение соответствующего поля объекта аргумента редукторов должно быть объектом, а не функцией.Этот объект должен содержать два свойства: reducer
и prepare
. Значение поля reducer
должно быть функцией редуктора case, а значение поля prepare
должно быть функцией обратного вызова подготовки:
import {createSlice, PayloadAction, nanoid} from '@ reduxjs / toolkit'
интерфейс Item {
id: string
text: string
}
const todosSlice = createSlice ({
name: 'todos',
initialState: [] as Item [],
reducer: {
addTodo: {
reducer: ( состояние, действие: PayloadAction - ) => {состояние
.push (action.payload)
},
prepare: (text: string) => {
const id = nanoid ()
return {payload: {id, text}}
},
},
},
})
Скопируйте import {createSlice, nanoid} из '@ reduxjs / toolkit'
const todosSlice = createSlice ({
name: 'todos',
initialState: [],
редукторов: {
addTodo: {
reducer : (состояние, действие) => {
состояние.push (action.payload)
},
prepare: (text) => {
const id = nanoid ()
return {payload: {id, text}}
},
},
},
})
Копия Одна из ключевых концепций Redux заключается в том, что каждый редуктор слайсов «владеет» своим срезом состояния, и что многие редукторы срезов
может независимо реагировать на один и тот же тип действия. extraReducers
позволяет createSlice
реагировать на другие типы действий
помимо типов, которые он сгенерировал.
Поскольку редукторы case, указанные в extraReducers
, предназначены для ссылки на «внешние» действия, они не будут иметь действий, сгенерированных в slice.actions
.
Как и редукторы
, эти редукторы case также будут переданы в createReducer
и могут безопасно «изменять» свое состояние.
Если два поля из редукторов
и extraReducers
оказываются в конце с одной и той же строкой типа действия,
функция из редукторов
будет использоваться для обработки этого типа действия.
Рекомендуемый способ использования extraReducers
- использовать обратный вызов, который принимает экземпляр ActionReducerMapBuilder
.
Эта нотация построителя также является единственным способом добавить редукторы сопоставления и редукторы регистра по умолчанию в ваш фрагмент.
import {createAction, createSlice, Action, AnyAction} from '@ reduxjs / toolkit'
const incrementBy = createAction ('incrementBy')
const декремент = createAction ('декремент')
interface RejectedAction extends Action { Ошибка
: Ошибка
}
функция isRejectedAction (действие: AnyAction): действие RejectedAction {
return action.type.endsWith ('rejected')
}
createSlice ({
name: 'counter',
initialState: 0,
redurs: {},
extraReducers: (builder) => {
builder
.addCase (incrementBy, (состояние, действие) => {
})
.addCase (декремент, (состояние, действие) => {})
.addMatcher (
isRejectedAction,
(состояние, действие) => {}
)
.addDefaultCase ((state, action) => {})
},
})
Скопируйте import {createAction, createSlice} из '@ reduxjs / toolkit'
const incrementBy = createAction ('incrementBy')
const декремент = createAction ('декремент')
function isRejectedAction (действие) {
return action.type.endsWith ('rejected')
}
createSlice ({
name: 'counter',
initialState: 0,
reducer: { },
extraReducers: (builder) => {
builder
.addCase (incrementBy, (состояние, действие) => {
})
.addCase (декремент, (состояние, действие) => {})
.addMatcher (
isRejectedAction,
(состояние, действие) => {}
)
.addDefaultCase ((state, action) => {})
},
})
Copy Мы рекомендуем использовать этот API, поскольку он лучше поддерживает TypeScript (и, следовательно, автозаполнение IDE даже для JavaScript users), так как он будет правильно определять тип действия в редукторе на основе предоставленного создателя действия.Это особенно полезно для работы с действиями, созданными createAction
и createAsyncThunk
.
См. Раздел «Обозначение обратного вызова Builder» справочника по createReducer
для получения подробной информации о том, как использовать builder.addCase
, builder.addMatcher
и builder.addDefault
Подобно редукторам
, extraReducers
может быть объектом, содержащим функции редуктора Redux. Однако ключи должны
быть другими константами строкового типа действия Redux, а createSlice
будет , а не автоматически сгенерировать типы действий или создателей действий
для редукторов, включенных в этот параметр.
Создатели действий, которые были сгенерированы с помощью createAction
, могут использоваться здесь непосредственно в качестве ключей, используя
синтаксис вычисляемого свойства.
const incrementBy = createAction ('incrementBy')
createSlice ({
name: 'counter',
initialState: 0,
редукторов: {},
extraReducers: {
[incrementBy]: (state, action) = > {
return state + action.payload
},
'some / other / action': (state, action) => {},
},
})
Копировать Мы рекомендуем использовать обратный вызов построителя
API по умолчанию, особенно если вы используете TypeScript.Если вы не используете обратный вызов построителя и используете TypeScript, вам нужно будет использовать
actionCreator.type
или actionCreator.toString ()
, чтобы заставить компилятор TS принять вычисленное свойство. Дополнительные сведения см. В разделе «Использование с TypeScript».
Возвращаемое значение
createSlice
вернет объект, который выглядит так:
{
name: string,
reducer: ReducerFunction,
actions: Record ,
caseReducers: Record
}
Копировать Каждая функция, определенная в аргументе redurs
, будет иметь соответствующий создатель действия, сгенерированный с помощью createAction
и включен в поле результата actions
с использованием того же имени функции.
Сгенерированная функция reducer
подходит для передачи в Redux combReducers
, которая выполняет функцию «slice reducer».
Вы можете рассмотреть возможность деструктурирования создателей действий и их экспорта по отдельности для упрощения поиска. для ссылок в более крупной кодовой базе.
Примечание : объект результата концептуально аналогичен объекту Структура кода "Redux duck". Фактическая структура кода, которую вы используете, зависит от вас, но следует помнить о нескольких предостережениях:
- Действия не ограничиваются исключительно одним фрагментом.Любая часть логики редуктора может (и должна!) Реагировать к любому отправляемому действию.
- В то же время циклические ссылки могут вызвать проблемы с импортом. Если срезы A и B определены в отдельные файлы, и каждый файл пытается импортировать другой, чтобы он мог прослушивать другие действия, неожиданные может произойти поведение.
Примеры
import {createSlice, createAction, PayloadAction} из '@ reduxjs / toolkit'
import {createStore, combReducers} из 'redux'
const incrementBy = createAction ('incrementBy') const DecmentBy = createAction ('декрементBy')
const counter = createSlice ({
name: 'counter',
initialState: 0 как число,
редукторов: {
increment: (state) => state + 1,
декремент: (состояние) => состояние - 1,
умножение: {
редуктор: (состояние, действие: PayloadAction <число>) => состояние * действие.payload,
prepare: (value ?: number) => ({payload: value || 2}),
},
},
extraReducers: (builder) => {
builder.addCase (incrementBy, (state, action) => {
return state + action.payload
})
builder.addCase (DecmentBy, (state, action) => {
return state - action.payload
})
},
})
const user = createSlice ({
name: 'user',
initialState: {name: '', age: 20},
редукторов: {
setUserName: (state, action) => {
state.name = action.payload
},
},
extraReducers: {
[counter.actions.increment]: (состояние
, действие
действие
) => {
state.age + = 1
},
},
})
const reducer = combReducers ({
counter: counter.reducer,
user: user.reducer,
})
const store = createStore (reducer)
store.dispatch (counter.actions.increment () )
магазин. Отправка (счетчик.actions.increment ())
store.dispatch (counter.actions.multiply (3))
store.dispatch (counter.actions.multiply ())
console.log (`$ {counter.actions.decrement} `)
store.dispatch (user.actions.setUserName ('eric'))
Скопировать import {createSlice, createAction} из '@ reduxjs / toolkit'
import {createStore ,commonReducers} из 'redux'
const incrementBy = createAction ('incrementBy')
const DecmentBy = createAction ('DecmentBy')
const counter = createSlice ({
name: 'counter',
initialState: 0,
редукторов: {
increment: (state ) => состояние + 1,
декремент: (состояние) => состояние - 1,
умножение: {
редуктор: (состояние, действие) => состояние * действие.payload,
prepare: (value) => ({payload: value || 2}),
},
},
extraReducers: (builder) => {
builder.addCase (incrementBy, (state, action) = > {
return state + action.payload
})
builder.
Добавить комментарий